问题描述
数字加密后密文还是数字,但密文长度要求小于或者等于原密文,有什么好的加解密算法呢。多谢指教!
解决方案
解决方案二:
压缩
解决方案三:
数字加密后密文还是数字,一般加密算法加密后是各种字符,而且长度如果用16进制表示字符,长度要增加。要求的加密算法:1、数字加密后密文还是数字,2密文长度要求小于或者等于原密文有什么好的加解密算法呢。
解决方案四:
数字是可视字符,进行加密后,再转换成数字串,长度会比原来长的。如果不考虑转换,可以做到长度一样。但是你这个问题比较特殊,若要实现,加密后的长度肯定比原文短,否则在进行数字转换时,长度就会比原文长。那么,我觉得比较合适的就是:凯撒密码!对,就是他,用某个数字替换某个数字,哈哈。但是这样安全性很差。你的命题有点意思,为什么要这样要求呢?
解决方案五:
除比1大的数,乘小于1的数。
解决方案六:
比如偶数就除以2,质数就是自己,其他的就除以能除断的就行。
解决方案七:
有这等好事。呵呵。期待。也想知道怎么搞定。
解决方案八:
支持3楼的观点!还有我知道的就是压缩!自己去关注一下(知识面要广)!
解决方案九:
用异或和原来一样长.比如都异或FF,得到密文.解码时再异或FF.
解决方案十:
1.在计算机里数字和字符有区别吗?2.除了压缩没有任何加密算法能够做到密文比原文长//////////////////////////////////////////////////数字加密后还是数字,我想lz是想处理大数,但是又不愿意将以字符串形式保存的大数处理成为字符(我猜是数据库的限制不能够保存字符)不知道lz对安全的要求有多高,有简单的方法也有复杂的方法
解决方案十一:
先对原文做个哈希,再加密吧。最好做个Base64的编码
解决方案十二:
我这里有一个自己定义加密算法的组件,支技"字节异或","内存位移","内存交换",一次性最大字节数为一个int数值,加密后密文和原文相等.如果需要可以经我发邮件.也可以到我的资源里下载加密程序.
解决方案十三:
我觉得对原来的数字所属的集合所包含的信息量必须小于加密后的数字所属的集合所包含的信息量,所以加密后的数字长度是不可能小于原来的数字长度。这样,从你的要求来看,只能让加密后的数字和原来的数字的长度相等。由于原来的数字没有任何的限制,可以使任何的数,因此我们可以知道加密后的数字和原来的数字是一一对应的关系。也就是说任何两个数加密的结果都不能相同。这就可以参照英文的所有加密算法,只不过它是26个字母,而这是10个数字而已。
解决方案十四:
什么呀
解决方案十五:
我也想知道,正在找這方面的資料~~~~~
解决方案:
无损压缩+合适的加密手段能实现LZ的要求因为要保证解密正确,必须使用无损压缩(信息量不变),比如哈付曼.单理论上是存在一些情况:无论怎么压缩也不可能得到更加节省空间的,比如各个符号出现的概率相等的时候.(压缩,也算是一种加密,只不过安全性几乎没有.)再使用合适的加密手段,确实是可以实现LZ的要求.不过当数据如果无损压缩没有起到节省空间的效果的话,就不能实现咯