关于DES加密之选择更新版

时间:2023-01-02 18:19:32

数据加密算法(Data Encryption Algorithm,DEA)是一种对称加密算法,很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的。通常,自动取款机(Automated Teller Machine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾对它拥有几年的专利权,但是在1983年已到期后,处于公有范围中,允许在特定条件下可以免除专利使用费而使用。1977年被美国*正式采纳。 DES的原始思想可以参照二战德国的恩格玛机,其基本思想大致相同。传统的密码加密都是由古代的循环移位思想而来,恩格玛机在这个基础之上进行了扩散模糊。但是本质原理都是一样的。现代DES在二进制级别做着同样的事:替代模糊,增加分析的难度。 DES的加密原理,是使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。 类似于: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当然,这些都是base64编码。那么,什么是base64呢? Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到。 比如,编写一个“123”,得出的结果就是“MTIz”。