dailiboy
dailiboy
采纳率50%
2018-01-31 14:59 阅读 3.6k

jQuery.md5.js 对用户名和密码进行加密 C#在后台如何解密

10

jQuery.md5.js在前台对用户名和密码进行了加密。
但是在后台C#解密出来同样是乱码。
请问如何实C#在后台成功解密jQuery.md5.js加密后的字符串。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

12条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2018-01-31 15:16

    md5不是加密算法,而是hash算法。一个简单的道理是,无论多长的原文,都得到一个32个16进制的md5,所以很直观地就能想到。这是一个无限大的集合到一个有限大的集合(虽然也很大,16的32次方也是天文数字了)的映射,必然出现无穷多原文对应一个md5的情况,那么显然不可能用md5得到原文。完成所谓的解密。

    点赞 4 评论 复制链接分享
  • m0_37858085 yw610170479 2018-01-31 15:18

    据我说知,MD5是一种不可逆的加密算法,是无法直接破解的;除非一点一点尝试(暴力破解);正应为这样,有许多网站账号一旦忘记密码是找不回来的,都是通过其他验证方式进行密码重置操作

    点赞 2 评论 复制链接分享
  • myhql19851216 myhql19851216 2018-01-31 17:22

    MD5是一种不可逆的加密算法,是无法直接破解的

    点赞 1 评论 复制链接分享
  • privateobject privateobject 2018-01-31 23:01

    建议使用非对称加密,使用公钥

    点赞 1 评论 复制链接分享
  • myishh myishh 2018-01-31 23:07

    0.后台实现两个基础方法:

    (1)CreateRsaKeyPair()方法,产生一对RSA私钥公钥,并配以唯一的键值key

    (2)DecryptRSA()方法,对密文进行RSA解密

    1.用户访问客户端,客户端向服务器请求获取一个RSA公钥以及键值key,存储在本地

    2.用户在本地公钥失效前发起登录请求,则使用已有公钥对用户密码进行加密;若已过期则执行1后再加密

    3.客户端将密文与key一起传回后台

    4.后台通过key找到缓存里面的私钥,对密文进行解密

    点赞 评论 复制链接分享
  • u011080899 lggcpp 2018-02-01 01:22

    MD5是不可逆的加密,非要解密的话建议使用非对称性加密

    点赞 评论 复制链接分享
  • hacker0817 逆风Hero 2018-02-01 01:26

    c#后台不需要解密啊,应该用同样的明文进行md5加密后与密码比对。

    点赞 评论 复制链接分享
  • xiaolei335 小雷335 2018-02-01 01:36

    MD5不可以被解密,楼主是姿势用错哒~~

    正确的姿势是,前台提交 username,与 md5加密后的password ,然后后台拿到数据后,要做的事情不是去解密md5后的密码,而是用username从数据库取出用户密码,然后对这个密码进行md5加密,之后对比前端传过来的md5密码,如果一致,就通过

    点赞 评论 复制链接分享
  • tallmin tallmin 2018-02-01 01:54

    我用的 .net,那你又没有用过客户端JS数据传输的时候加密? 比如我们from传值到后台的过程中必须加密的,不然敏感数据肯定被截取了。那么加密了我们后台拿的加密过的值再进行解密得到用书输入的正确数据。这个过程不知道有什么比较好的JS加密后台解密的算法吗?

    点赞 评论 复制链接分享
  • whb3299065 whb3299065 2018-02-01 03:07

    MD5不是加密算法,而是摘要算法,对于MD5的值,我们应该直接存储起来,之后只会校验正确与否,不去查看值到底是多少
    对于你的业务,应该选用对称加密或非对称加密如AES,DES等(对称),RSA,ECC等非对称,具体要用什么算法看你业务,结合算法的特点去选
    一般的前端加密后端解密会用非对称算法,(对称算法容易被人从前端截获秘钥),推荐使用RSA相对成熟点,虽然ECC性能上,强度上,效率上都要比RSA占优势,但,,,资料太少了,昨天看了一天,网上的资料大部分都是废的

    点赞 评论 复制链接分享
  • qq_32526713 叫我陛下 2018-02-06 05:19

    MD5是无法反编译的。你只可以将字符加密,然后,对比两个加密码

    点赞 评论 复制链接分享
  • cxfidc01 红帽01 2018-03-10 06:53

    MD5不可以被解密

    前台提交 username,与 md5加密后的password ,
    后台数据库也存的是md5后的密码,对比前端传过来的md5密码,如果一致,就通过

    点赞 评论 复制链接分享

相关推荐