php - 在php中解密密码

标签 php mysql sql-server magento

如何解密ms-sql数据库中的明文密码?

$encrypted_password="k??aU?????y-??N???tDRz????{?4R???G?aS4t?T";  
$salt = "611233880";

所以我需要解密密码,以便我使用 md5 加密插入到其他数据库。

我用了这段代码,但是没有成功

$iv2 = '';
 for($i=0;$i<16;$i++){
    $iv2 .= "\0";
 }
 $plain_text_CBC = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $salt, $encrypted_password, MCRYPT_MODE_CBC, $iv2);
 var_dump($plain_text_CBC);
 $plaintext = openssl_decrypt($encrypted_password, 'AES-256-CBC', $salt, 0, $iv2);
 var_dump($plaintext);

需要帮助

最佳答案

加密(或散列)密码背后的想法是它是一种单向操作。不太像切碎,但这就是想法。如果你采用完全相同的输入并将其切碎,你应该得到完全相同的输出。您可能无法从中重建输入,但您可以通过查看输出来确认某人为您提供了正确的输入。

已知一些弱算法被黑客攻击,原则上你所要求的是不可能的。

应该是没有理由解密的。您始终可以执行两次哈希运算 - 首先使用旧算法,然后使用新算法 - 然后与数据库中的条目进行比较。

永远不要存储明文(或弱加密)密码。问问 LinkedIn...

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

相关文章:

sql - 在 SQL Server 的 select 语句中使用带有 TOP 的变量而不使其动态化

sql - 递归查询 CTE

php - 无法使用表单在数据库中插入值

php - 如何使用 join codeigniter 从另一个表获取值

c# - C# Entity Framework 中Where 子句和foreach 查找的区别

mysql - 在实体管理器上查询时需要避免使用 “in PersistenceUnit”

c# - 使用Enterprise库将数据插入SQL Server数据库的代码

php - 在 While 循环中执行 PHP CURL

php - 为 jQuery 日历编码 JSON

php - 在 PHP 脚本中设置超时和文件大小值的位置