本人编了一个程序,在数据库中需要保存用户ID,用户密码和用户数据,其中用户密码和用户数据需加密处理,用户密码我采用MD5变态加密,但用户数据需解密出来供用户使用,本人学VB时间不长,倒是可以写出可逆式加密算法,但长度是随着明文的改变而改变的,我想要的是密文长度固定的那种,希望会的帮下!感激不尽
不要给我不可逆的或不定长的加密算法,谢谢!
本人编了一个程序,在数据库中需要保存用户ID,用户密码和用户数据,其中用户密码和用户数据需加密处理,用户密码我采用MD5变态加密,但用户数据需解密出来供用户使用,本人学VB时间不长,倒是可以写出可逆式加密算法,但长度是随着明文的改变而改变的,我想要的是密文长度固定的那种,希望会的帮下!感激不尽
不要给我不可逆的或不定长的加密算法,谢谢!
MD5逻辑上是不可逆的,而且在密钥固定的情况下,明文转出来的密文都是固定的。
长度固定的算法很多。例如 AES、DES、RSA、DSA等等
这些都是开源的算法。标准算法网上一搜一大把(C实现的很好找,VB的不清楚)
要自己写也没那么困难。虽然强度不可能和这些算法比,但是写个简单的算法也不难了,呵~
采用固定长度的密文,应该都是不可逆的
除非你需要加密的字符长度有限制
你很难想象用16位密文解密出1万字的文章(比方)
MD5不是加密算法,它是一种单向散列函数,只产生固定的128位散列值,有时候用于数字指纹等密码应用。
既然是单向的就是说,只能求结果,不能反过来求明文。
登录问题,你只需要保存MD5散列值就可以了,每次登录时,计算用户新输入密码的散列值与数据库的是否相等即可,数字签名的验证也是这样的。没有必要反过来求明文啊。