繁体   English   中英

PHP:mycrypt密钥?

[英]PHP: mycrypt key?

请不要介意我问这个问题,但是我是php的新手,我需要加密和解密密码。 我想通过URL发送密码,因此听说这是使用mycrypt的最安全方法。

我无法通过mycrypt函数中的KEY得到东西吗? 那不应该像密码本身一样秘密。 例如,我正在使用PHP手册中的以下功能:

    <?php
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $key = "this is my personal decryption key";
    $text = "Meet me at 11 o'clock behind the monument.";
    echo strlen($text) . "\n";

    $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
    echo strlen($crypttext) . "\n";
    ?>

我可以将$ key设置为我想要的吗? 如果有人在我设置此$ key的位置下载我的文档源怎么办? 他能够轻松地再次解密$ text。 是不是 还是我使用此功能出错?

使用TLS(HTTPS)可能更简单,更安全。 这可以使用相同的技术(例如AES / Rijndael),但是可以为您处理许多细节,包括密钥分发。 如果使用mcrypt,则需要找出一种安全的方式来交换密钥和IV(初始化向量)。

您显然还需要保护密钥和IV。 因此,如果它嵌入在您的PHP文件中,则必须注意保护该文件的安全。 不过,记住服务器端和客户端之间的区别很重要。 除非脚本中有错误,否则密钥不会泄漏到生成的HTML文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM