目录:
80分求DES加密解密算法实现的PHP源代码
针对str类型的。加密的话pc28的算法,可以对最后得出的hash值再处理即可。比如左移pc28的算法,右移pc28的算法,某2位替换,某位加几等等即可。解密直接用逆序就可以了。
PHP实现和c#一致的DES加密解密,可以从网上搜到一大堆,但是测试后发现都没法用。以下正确代码是pc28的算法我经过苦苦才找到的。希望大家在系统整合时能用的上。注意pc28的算法:key的长度为8位以内。
DES算法由加密、解密和子密钥的生成三部分组成。 加密DES算法处理的数据对象是一组64比特的明文串。设该明文串为m=m1m2…m64 (mi=0或1)。明文串经过64比特的密钥K来加密,最后生成长度为64比特的密文E。
在PHP开发中,加密方法多样,主要有六种:不可逆的md5()和crypt(),以及可逆的base64_encode()和urlencode()。md5()用于生成哈希,crypt()采用DES模块进行单向加密。base64_encode()进行MIME BASE64编码,便于网络传输,其解密对应base64_decode()。
求教des算法的详细过程
1、DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法,其入口参数有三个:key、data、mode。key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。
2、DES算法的主要流程是将64位的明文输入块转换成64位的密文输出块,使用同样长度为64位的密钥进行加密。整个过程可以分为几个步骤:首先,输入的64位数据块通过置换规则表进行初始处理。
3、【答案】:1)将明文按64位为单位进行分组;2)将64位明文按照初始置换表进行置换;3)将置换后的明文分成左右两部分,各32位长;4)进行16轮叠代,算法:Li=Ri-1,Ri=Li-1^f(Ri-1,Ki);5)逆初始置换;6)输出。
4、进行16轮的加密变换之后,将L16和R16合成64位的数据,再按照表2所示的 最后换位表进行IP-1的换位,得到64位的密文,这就是DES算法加密的结果。
5、DES 的加密方法是:使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。
标签: pc28的算法
还木有评论哦,快来抢沙发吧~