php - 加密和解密md5

标签 php security hash passwords md5

我正在使用代码 $enrypt=md5($pass) 并将 $encrypt 插入数据库。我想找到一种方法来解密它们。我尝试使用解密软件,但它说哈希应该正好是 16 个字节。有什么方法可以解密或使其成为 16 字节 md5 哈希?

我的哈希看起来像这样:c4ca4238a0b923820dcc

最佳答案

如前所述,如果不尝试诸如暴力破解之类的资源密集型、不实用且不道德的操作,就无法解密 MD5。

但是您可以使用这样的东西来安全地加密/解密密码/等:

$input = "SmackFactory";

$encrypted = encryptIt( $input );
$decrypted = decryptIt( $encrypted );

echo $encrypted . '<br />' . $decrypted;

function encryptIt( $q ) {
    $cryptKey  = 'qJB0rGtIn5UB1xG03efyCp';
    $qEncoded      = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $q, MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ) );
    return( $qEncoded );
}

function decryptIt( $q ) {
    $cryptKey  = 'qJB0rGtIn5UB1xG03efyCp';
    $qDecoded      = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), base64_decode( $q ), MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ), "\0");
    return( $qDecoded );
}

使用带盐的加密方法会更安全,但这将是比仅使用 MD5 哈希值更好的下一步。

关于php - 加密和解密md5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15194663/

相关文章:

javascript - 根据选择的下拉框更改div

php - 更改 "Whoops, looks like something went wrong."消息

php - Yii2 将时间保存为 UTC 到数据库,但显示在其他时区

php - 安全地发送 PHP 从 iOS 获取信息

security - 添加公开的图像上传表单时如何保护您的 Web 应用程序?

php - Wamp 服务器——无法执行任何 PHP Rest API

javascript - 在 Javascript 变量中存储密码的安全隐患是什么?

c - 两个不同数组的相等性

arrays - 使用初始值作为键和 block 来散列数组以生成键值

c - 哈希程序不为同一文件返回相同的值