DES加密解密结果为何不一致
这个要了解下DES的原理才行,待续。。。。
■网友
谢邀IV要伴随着密文走的,解密时必须使用正确的IV。IV本身不要加密
■网友
这个问题主要涉及编码、输入格式、输出格式、加密模式这几个方面的问题,还有一些细节问题比如空格与回车。 首先是编码问题,在线的编码格式一般默认是UTF-8,因此如果网页编码不是UTF-8,则会导致加密的结果不一样。因为DES算法本质上是对二进制内容进行加密,同样的文字经过不同的编码映射成的二进制内容并不相同。 其次,是输入格式问题。一般在网页的输入是文本格式(Plain Text),但是许多教程为了方便理解,写的输入格式是16进制,比如 DES算法实例讲解 这篇文章里面主要用的是16进制格式作为讲解,对于许多在线工具,明文和密钥输入用的是文本格式。因此,在输入的时候一定要注意区分。 然后,是输出格式的问题。有些在线加密工具输出会自动进行Base64编码,这样结果和直接加密的结果完全不同。DES加密的密文是16进制格式的,无法一一对应成ASCII码。密文要么以16进制输出,要么输出一堆乱码,而Base64能将一个较长的16进制数组编码为一个字符串,方便处理。 最后,是加密模式的问题。DES本身采用的是ECB(电子密码本)模式,即将加密的数据分成若干组,每组的大小跟加密密钥长度相同,这样密文输出完全由明文和密钥决定。为了进一步加强安全性,有许多安全性扩展,就诞生了别的加密模式,比如加密块链模式CBC、加密反馈模式CFB等等。不同的模式加密结果也会完全不同。 在附带一点细节问题,即空格与回车的问题。尤其是在字符串处理的时候,有些字符串会带回车换行(0x0D 0x0A),这会造成最后一个64位字符块加密有些许差别。还有一些文本框自动(trigger)去除空格,就导致文本中的空格没有被计算在内,导致加密不同。
推荐阅读
- 人员■海安疾控:北京确诊病例密接者及相关人员检测结果均为阴性
- 沈阳全员检测:已设置1549个检测点64万余人检测结果均阴性
- 宁波多地排查冷链食品风险样本核酸检测结果均为阴性
- 汽车|看了中消协4S店服务测评调查结果,终于知道法系车为啥卖不好了
- python 爬虫,咋获得输入验证码之后的搜索结果
- 车神探|探闻丨C-NCAP提升标准!这一批测试的结果还那么水吗?
- 懂哥聊车|因两家车标太过相似,奔驰起诉这家车企5次,结果一次没成功
- 杭州余杭警方通报“返乡公告”谣言处理结果:两人被行拘
- 教师有偿补课、家属殴打学生家长?处理结果公布
- 孔明说车|WEY越野SUV碰撞测试,从结果来看,没有辱没“坦克”这名字
