在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
This is how I would do it. Create a class to do encryption/decryption: class cipher { private $securekey; private $iv_size; function __construct($textkey) { $this->iv_size = mcrypt_get_iv_size( MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC ); $this->securekey = hash( 'sha256', $textkey, TRUE ); } function encrypt($input) { $iv = mcrypt_create_iv($this->iv_size); return base64_encode( $iv . mcrypt_encrypt( MCRYPT_RIJNDAEL_128, $this->securekey, $input, MCRYPT_MODE_CBC, $iv ) ); } function decrypt($input) { $input = base64_decode($input); $iv = substr( $input, 0, $this->iv_size ); $cipher = substr( $input, $this->iv_size ); return trim( mcrypt_decrypt( MCRYPT_RIJNDAEL_128, $this->securekey, $cipher, MCRYPT_MODE_CBC, $iv ) ); } } Then use it like this: // Usage $cipher = new cipher('my-secret-key'); $orignal_text = 'my secret message'; $encrypted_text = $cipher->encrypt($orignal_text); // store this in db $decrypted_text = $cipher->decrypt($encrypted_text); // load $encrypted_text from db // Debug echo "Orignal Text : $orignal_text\r\n"; echo "Encrypted Text: $encrypted_text\r\n"; echo "Decrypted Text: $decrypted_text"; This respectively outputs the following: Orignal Text : my secret message Encrypted Text: Z21ifr5dHEdE9nO8vaDWb9QkjooqCK4UI6D/Ui+fkpmXWwmxloy8hM+7oimtw1wE Decrypted Text: my secret message
来源:http://stackoverflow.com/questions/26756322/php-using-mcrypt-and-store-the-encrypted-in-mysql |
2022-08-16
2022-11-06
2022-08-18
2022-08-15
2022-08-18
请发表评论