网站建设的目标定位,wordpress 网络验证,模具配件东莞网站建设技术支持,做公司网站公司本文实例讲述了php中加密解密DES类的简单使用方法。分享给大家供大家参考#xff0c;具体如下#xff1a;在平时的开发工作中#xff0c;我们经常会对关键字符进行加密#xff0c;可能为了安全 也可能为了规范#xff0c;所以要正确使用DES加密解密代码1:class DES{var $k…本文实例讲述了php中加密解密DES类的简单使用方法。分享给大家供大家参考具体如下在平时的开发工作中我们经常会对关键字符进行加密可能为了安全 也可能为了规范所以要正确使用DES加密解密代码1:class DES{var $key; // 密钥var $iv; // 偏移量function __construct( $key, $iv0 ) {$this-key $key;if( $iv 0 ) {$this-iv $key;} else {$this-iv $iv;// 创建初始向量, 并且检测密钥长度, Windows 平台请使用 MCRYPT_RAND// mcrypt_create_iv ( mcrypt_get_block_size (MCRYPT_DES, MCRYPT_MODE_CBC), MCRYPT_DEV_RANDOM );}}function encrypt($str) {//加密返回大写十六进制字符串$size mcrypt_get_block_size ( MCRYPT_DES, MCRYPT_MODE_CBC );$str $this-pkcs5Pad ( $str, $size );// bin2hex 把 ASCII 字符的字符串转换为十六进制值return strtoupper( bin2hex( mcrypt_cbc(MCRYPT_DES, $this-key, $str, MCRYPT_ENCRYPT, $this-iv ) ) );}function decrypt($str) {//解密$strBin $this-hex2bin( strtolower( $str ) );$str mcrypt_cbc( MCRYPT_DES, $this-key, $strBin, MCRYPT_DECRYPT, $this-iv );$str $this-pkcs5Unpad( $str );return $str;}function hex2bin($hexData) {$binData ;for($i 0; $i strlen ( $hexData ); $i 2) {$binData . chr ( hexdec ( substr ( $hexData, $i, 2 ) ) );}return $binData;}function pkcs5Pad($text, $blocksize) {$pad $blocksize - (strlen ( $text ) % $blocksize);return $text . str_repeat ( chr ( $pad ), $pad );}function pkcs5Unpad($text) {$pad ord ( $text {strlen ( $text ) - 1} );if ($pad strlen ( $text ))return false;if (strspn ( $text, chr ( $pad ), strlen ( $text ) - $pad ) ! $pad)return false;return substr ( $text, 0, - 1 * $pad );}}Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; DES5 has a deprecated constructor in D:\phpstudy_pro\WWW\des\DES5.php on line 2Fatal error: Uncaught Error: Call to undefined function mcrypt_get_block_size() in D:\phpstudy_pro\WWW\des\DES5.php:19 Stack trace: #0 D:\phpstudy_pro\WWW\des\1.php(10): DES5-encrypt(podsmia) #1 {main} thrown in D:\phpstudy_pro\WWW\des\DES5.php on line 19mcrypt_cbc 以 CBC 模式加解密数据, 在PHP 5.5.0被弃用, PHP 7.0.0被移除mcrypt_encrypt / mcrypt_decrypt 使用给定参数加密 / 解密, 在PHP 7.1.0被弃用, 在PHP 7.2.0被移除代码2:class DES7{//要改的加密, 使用 opensslpublic function desEncrypt($str,$key) {$iv $key;$data openssl_encrypt($str,DES-CBC,$key,OPENSSL_RAW_DATA,$iv);$data strtolower(bin2hex($data));return $data;}//要改的解密public function desDecrypt($str,$key) {$iv $key;return openssl_decrypt (hex2bin($str), DES-CBC, $key, OPENSSL_RAW_DATA,$iv);}}PS关于加密解密感兴趣的朋友还可以参考本站在线工具在线DES加密/解密工具http://tools.jb51.net/password/des_encodeMD5在线加密工具:http://tools.jb51.net/password/CreateMD5Password在线散列/哈希算法加密工具:http://tools.jb51.net/password/hash_encrypt在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具http://tools.jb51.net/password/hash_md5_sha在线sha1/sha224/sha256/sha384/sha512加密工具http://tools.jb51.net/password/sha_encode更多关于PHP相关内容感兴趣的读者可查看本站专题《php加密方法总结》、《PHP编码与转码操作技巧汇总》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php正则表达式用法总结》希望本文所述对大家PHP程序设计有所帮助。