如何在PHP中解密md5字符串

时间:2016-02-01 18:14:52

标签: php encryption md5 utf8-decode

我用<!doctype html> <head> <meta charset="utf-8"> <base href="https://polygit.org/components/"> <script src="webcomponentsjs/webcomponents-lite.min.js"></script> <link href="polymer/polymer.html" rel="import"> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript" src="https://www.google.com/jsapi"></script> </head> <body> <dom-module id="x-element"> <script> (function(){ Polymer({ is: 'x-element', properties: { items: { type: Array, value: ['foo','bar'] }, }, ready: function(){ console.log(this.items) // ["foo", "bar"] google.charts.load('current', { 'packages': ['geochart'] }); google.charts.setOnLoadCallback(this._drawRegionsMap); }, _drawRegionsMap: function() { console.log(this.items); // undefined }, }); })(); </script> </dom-module> <x-element></x-element> </body> 编码了一个字符串,我想要解密相同的字符串。

我写了以下代码:

md5()

现在我可以加密字符串了。但现在,我想要解密字符串。我试过了:

<?php 

$rr = md5(utf8_encode('hello'));
echo $rr;

$rr1 = md5(utf8_decode('5d41402abc4b2a76b9719d911017c592'));
echo '<br/>' .$rr1;
?>

但它不起作用。如何解密使用md5(utf_decode('string'));

加密的字符串

1 个答案:

答案 0 :(得分:3)

你不能! MD5是单向哈希,而不是加密。重点是,它应该是无法逆转的。您使用它的目的是,例如,存储密码。你不需要知道密码是什么;您只需要md5()用户在密码字段中输入的内容,并查看它是否与用户密码的存储md5()值相匹配。

如果您希望能够加密和解密,请查看类似AES / Twofish / Blowfish的内容。 MCrypt module会对你有所帮助。

This question为如何在PHP中加密和解密提供了一些额外的资源。

我还应该指出md5()是一种弱的,易碰撞的散列算法,对于高安全性的应用程序不应该受信任。我会至少使用sha256,或sha512。