qq_27836205
Jordan裔
2017-08-30 15:58
采纳率: 71.2%
浏览 1.3k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • caozhy
    已采纳

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

    点赞 评论
  • caozhy

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

    点赞 评论
  • wojiushiwo945you
    毕小宝 2017-08-31 01:05
    MD5不是加密算法,而是生成指定字符串的摘要。我们在信息系统同用MD5算法来进行密码校验的原理是这样的:将密码用MD5算法生成的摘要信息存入数据库;登录是再根据用户输入的密码再生成MD5摘要信息,跟数据库存储的值对比,相等说明密码正确。
    此外,MD5是不可逆的,就是不存在你说的解密过程的。
    
    点赞 评论
  • orangeTop
    orangeTop 2017-08-31 01:24
    点赞 评论
  • huang931027
    IAmObject 2017-08-31 02:41

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

    点赞 评论
  • u011315960
    珠穆朗玛小王子 2017-08-31 02:45

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

    点赞 评论
  • qq_24249533
    LXGiiii 2017-08-31 07:14

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

    点赞 评论

相关推荐