数据加密算法(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”。
原文地址:https://www.cnblogs.com/lovesoul/p/8978096.html