0

重複の可能性:
PHP での双方向暗号化

変数をパスワードで暗号化する PHP スクリプトが必要です。md5($var); のようなハッシュという意味ではありません。または sha1($var);

(たとえば) md5($var); を作成できるスクリプトが必要です。ハッシュだけでなく、md5($var) からも取得します。便利な文字列。

みたいな期待

$password = "SomePassword"; 
$data = "TheVerySecretString";
$encrypted = TheEncyptionFunctionINeed($password, $data); // Output some useless strings
$decrypted = TheDecryptionFunctionINeed($password, $data); // Output: "TheVerySecretString"
4

2 に答える 2

3

PHPでの双方向暗号化

数年後にこれを開いてみてください、しかしそれはトップの検索ランキングにあるのでそれは重要だと思います...

PHP 5.3は、非常に使いやすい新しい暗号化方式を導入しました。

これはopenssl_encryptとopenssl_decryptです...ここでは十分に文書化されていないため、ここに簡単な例を示します。

$textToEncrypt = "My super secret information.";
$encryptionMethod = "AES-256-CBC";  // AES is used by the U.S. gov't to encrypt top secret documents.
$secretHash = "25c6c7ff35b9979b151f2136cd13b0ff";

//To encrypt
$encryptedMessage = openssl_encrypt($textToEncrypt, $encryptionMethod, $secretHash);

//To Decrypt
$decryptedMessage = openssl_decrypt($encryptedMessage, $encryptionMethod, $secretHash);

//Result
echo "Encrypted: $encryptedMessage <br>Decrypted: $decryptedMessage";
于 2013-02-04T16:49:07.483 に答える
0

2つの機能は次のとおりです。

関数encryptData($ value){
   $ key="トップシークレットキー";
   $ text = $ value;
   $ iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256、MCRYPT_MODE_ECB);
   $ iv = mcrypt_create_iv($ iv_size、MCRYPT_RAND);
   $ crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256、$ key、$ text、MCRYPT_MODE_ECB、$ iv);
   $crypttextを返します。
}

関数decryptData($ value){
   $ key="トップシークレットキー";
   $ crypttext = $ value;
   $ iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256、MCRYPT_MODE_ECB);
   $ iv = mcrypt_create_iv($ iv_size、MCRYPT_RAND);
   $ decodetext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256、$ key、$ crypttext、MCRYPT_MODE_ECB、$ iv);
   トリムを返す($ decodetext);
}
?>

関数のマニュアルを確認してください:mcrypt_encryptおよびmcrypt_decrypt

于 2013-02-04T16:51:15.063 に答える