在知道hash和plain时找出mcrypt密钥

时间:2013-10-10 15:18:01

标签: php encryption hash mcrypt

我有两个功能:

function Encrypt($sValue, $sSecretKey = "") {
if (!$sSecretKey) {
    $sSecretKey = $GLOBALS['key'];
}
return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $sSecretKey, $sValue,          MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), 

MCRYPT_RAND))));
}

function Decrypt($sValue, $sSecretKey = "") {
if (!$sSecretKey) {
    $sSecretKey = $GLOBALS['key'];
}
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $sSecretKey, base64_decode($sValue), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, 

MCRYPT_MODE_ECB), MCRYPT_RAND)));
}

是否有可能获得当我​​有一个普通密钥及其哈希值时使用的密钥?

PLAIN:checkkeyisright

HASH:W0Kdv34iN5Gpkzc4DlisOw4Pynry / O9TLkUq6pwXxY8 =

1 个答案:

答案 0 :(得分:2)

不,不是。在给定密文和明文的情况下恢复密钥是加密密码(例如Rijndael)专门设计为不可行的。