Simple PHP encrypt and decrypt

来源:互联网 发布:java poi设置高度 编辑:程序博客网 时间:2024/05/14 06:25

You need to have openssl encrypt installed and running. Check this thread if you dont have it already

/** * simple method to encrypt or decrypt a plain text string * initialization vector(IV) has to be the same when encrypting and decrypting * PHP 5.4.9 ( check your PHP version for function definition changes ) * * this is a beginners template for simple encryption decryption * before using this in production environments, please read about encryption * use at your own risk * * @param string $action: can be 'encrypt' or 'decrypt' * @param string $string: string to encrypt or decrypt * * @return string */function encrypt_decrypt($action, $string) {    $output = false;    $encrypt_method = "AES-256-CBC";    $secret_key = 'This is my secret key';    $secret_iv = 'This is my secret iv';    // hash    $key = hash('sha256', $secret_key);        // iv - encrypt method AES-256-CBC expects 16 bytes - else you will get a warning    $iv = substr(hash('sha256', $secret_iv), 0, 16);    if( $action == 'encrypt' ) {        $output = openssl_encrypt($string, $encrypt_method, $key, 0, $iv);        $output = base64_encode($output);    }    else if( $action == 'decrypt' ){        $output = openssl_decrypt(base64_decode($string), $encrypt_method, $key, 0, $iv);    }    return $output;}$plain_txt = "This is my plain text";echo "Plain Text = $plain_txt\n";$encrypted_txt = encrypt_decrypt('encrypt', $plain_txt);echo "Encrypted Text = $encrypted_txt\n";$decrypted_txt = encrypt_decrypt('decrypt', $encrypted_txt);echo "Decrypted Text = $decrypted_txt\n";if( $plain_txt === $decrypted_txt ) echo "SUCCESS";else echo "FAILED";echo "\n";
https://naveensnayak.wordpress.com/2013/03/12/simple-php-encrypt-and-decrypt/

0 0
原创粉丝点击