Heim > Backend-Entwicklung > PHP-Tutorial > PHP使用DES进行加密和解密

PHP使用DES进行加密和解密

WBOY
Freigeben: 2016-07-25 08:43:18
Original
849 Leute haben es durchsucht

php中有一个扩展可以支持DES的加密算法,是:extension=php_mcrypt.dll

在配置文件中将这个扩展打开还不能够在windows环境下使用

需要将PHP文件夹下的 libmcrypt.dll 拷贝到系统的 system32 目录下,这是通过phpinfo可以查看到mcrypt表示这个模块可以正常试用了。

下面是PHP中使用DES加密解密的一个例子:

  1. //$input - stuff to decrypt
  2. //$key - the secret key to use
  3. function do_mencrypt($input, $key)
  4. {
  5. $input = str_replace(""n", "", $input);
  6. $input = str_replace(""t", "", $input);
  7. $input = str_replace(""r", "", $input);
  8. $key = substr(md5($key), 0, 24);
  9. $td = mcrypt_module_open('tripledes', '', 'ecb', '');
  10. $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
  11. mcrypt_generic_init($td, $key, $iv);
  12. $encrypted_data = mcrypt_generic($td, $input);
  13. mcrypt_generic_deinit($td);
  14. mcrypt_module_close($td);
  15. return trim(chop(base64_encode($encrypted_data)));
  16. }
  17. //$input - stuff to decrypt
  18. //$key - the secret key to use
  19. function do_mdecrypt($input, $key)
  20. {
  21. $input = str_replace(""n", "", $input);
  22. $input = str_replace(""t", "", $input);
  23. $input = str_replace(""r", "", $input);
  24. $input = trim(chop(base64_decode($input)));
  25. $td = mcrypt_module_open('tripledes', '', 'ecb', '');
  26. $key = substr(md5($key), 0, 24);
  27. $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
  28. mcrypt_generic_init($td, $key, $iv);
  29. $decrypted_data = mdecrypt_generic($td, $input);
  30. mcrypt_generic_deinit($td);
  31. mcrypt_module_close($td);
  32. return trim(chop($decrypted_data));
  33. }
复制代码

PHP, DES


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage