2 qq 27836205 qq_27836205 于 2017.08.30 23:58 提问

java 加密算法 知道加密写法 如何求解密写法

登入密码加密 看源代码知道他的加密写法 如何写出解密写法呢
图片说明
图片说明

7个回答

caozhy
caozhy   Ds   Rxr 2017.08.31 08:47
已采纳

虽然md5没有所谓的解密算法,但是按照你的源代码看,朴素的md5算法,相同的明文可以得到相应的md5值。
这就是说,比如你知道一个密码8888,它对应的md5是多少(比如假设是cf79ae6addba60ad018347359bd144d2),你可以强行改表中的记录,那么改好以后,不管原来的密码是多少,都可以用8888这个密码登录。
你也可以用穷举的方式来破解密码,也就是穷举一个排列组合或者用一个密码字典来尝试试探,用md5算法算出密文,和你的密文比对,对上了就可以知道原文了。不过对于密码长度比较长的密码,就不怎么可行了。

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2017.08.31 09:05
MD5不是加密算法,而是生成指定字符串的摘要。我们在信息系统同用MD5算法来进行密码校验的原理是这样的:将密码用MD5算法生成的摘要信息存入数据库;登录是再根据用户输入的密码再生成MD5摘要信息,跟数据库存储的值对比,相等说明密码正确。
此外,MD5是不可逆的,就是不存在你说的解密过程的。
caozhy
caozhy   Ds   Rxr 2017.08.31 08:42

md5是摘要算法,不是加密算法,md5是不可逆的,也就不存在什么解密了。
digest字面意思就是“摘要”,byte2hex就是把字节转换成16进制,就算你不会编程,起码字面意思也看得懂吧。

orangeTop
orangeTop   2017.08.31 09:24
huang931027
huang931027   2017.08.31 10:41

你想要解密的话,你必须知道加密规则才能解密,不是说你要解密就能解密的

u011315960
u011315960   2017.08.31 10:45

Java提供了两种加密算法:
1、MD5算法,这种算法不可逆,例如用户的密码一般都是MD5加密后保存的。
2、AES加密,这种支持加密解密,是可逆的,你可以看看,应该符合你的要求。

qq_24249533
qq_24249533   2017.08.31 15:14

MD5是不能解密的,为什么需要解密呢

Csdn user default icon
上传中...
上传图片
插入图片