PHPmcrypt_encrypt加密函数tip

之前公司使用5.3 5.4的php版本,使用mcrypt_encrypt加密,存在KEY长度为9位的秘钥,也是可以正常使用的,

但是现在将PHP版本更新到7之后,发现有些商户传过来的参数无法解密,结果发现是PHP5.6以后不支持8位以上的无效长度KEY

(应该是8的整数倍的KEY是能用的,如8,16,32,64,不过没有尝试,如果不强制要求8位就足够了)

资料:

mcrypt_encrypt 加密失败

当参数密钥key长度大于8位时,函数返回false,PHP 5.6版本后,不再接受无效长度的 key and iv 参数 
如果参数密钥key长度大于8位,mcrypt_decrypt() 函数会产生警告并且返回 FALSE,导致加密失败。

解决方案: 将密钥长度截取到8位,这样能兼容5.6后的PHP版本。

时间: 2024-10-13 20:48:04

PHPmcrypt_encrypt加密函数tip的相关文章

Oracle定义DES加密解密及MD5加密函数

http://blog.csdn.net/xdweleven/article/details/38319351 (1)DES加密函数create or replace functionencrypt_des(p_text varchar2, p_key varchar2) return varchar2 is        v_text varchar2(4000);        v_enc varchar2(4000);        raw_input RAW(128) ;       

修改登陆密码的方式及加密函数

修改登陆密码的方式 1.select md5('1234');=81dc9bdb52d04dc20036dbd8313ed055 选择member  双击密码把新的填进去 然后点击保存 即可修改密码退出登陆即可用新的密码进入 自己计算的32位加密函数 function  mymd6($p,$c='webrx'){ $s1=md5($p.$c); $s2=sha1($p.$c); $sok=substr($s1,0,6).substr($s,0,6); $sok=substr($s1,12,5).

PHP的几个常用加密函数

在网站的开发过程中,常常需要对部分数据(如用户密码)进行加密,本文主要介绍PHP的几个常见的加密函数: MD5加密: string md5 ( string $str [, bool $raw_output = false ] ) 1.md5()默认情况下以 32 字符十六进制数字形式返回散列值,它接受两个参数,第一个为要加密的字符串,第二个为raw_output的布尔值,默认为false,如果设置为true,md5()则会返回原始的 16 位二进制格式报文摘要 2.md5()为单向加密,没有逆

MySQL学习19:运算符与函数之信息函数、聚合函数、加密函数

信息函数 常用的信息函数有: (1)查看数据库连接ID和当前数据库 SELECT CONNECTION_ID(); SELECT DATABASE(); (2)查看最后输入记录的ID号 ALTER TABLE test ADD id SMALLINT UNSIGNED KEYAUTO_INCREMENT  FIRST; INSERT test(first_name,last_name) VALUES('11','22'); SELECT LAST_INSERT_ID(); SELECT * FR

数据库系统信息函数 加密函数

version() 返回数据库的版本号 connection_id() 返回服务器的连接数 database().schema 返回当前数据库名 user().system_user() 返回当前用户 加密函数 password(str) 该函数可以对字符串str进行加密,一般情况下,password(str)用于给用户的密码加密 MD5 MD5(str)函数可以对字符串str进行散列,可以用于一些普通的不需要解密的数据加密 encode(str,pswd_str)与decode(crypt_s

PHP的几个常用加密函数(转载 https://jellybool.com/post/php-encrypt-functions)

PHP的几个常用加密函数 在网站的开发过程中,常常需要对部分数据(如用户密码)进行加密,本文主要介绍PHP的几个常见的加密函数 MD5加密: string md5 ( string $str [, bool $raw_output = false ] ) 1.md5()默认情况下以 32 字符十六进制数字形式返回散列值,它接受两个参数,第一个为要加密的字符串,第二个为raw_output的布尔值,默认为false,如果设置为true,md5()则会返回原始的 16 位二进制格式报文摘要 2.md

一对可逆加密函数

// 加密 function encrypt($str) { return base64_encode($str.AUTH_KEY); } // 解密 function decrypt($str) { $info = base64_decode($str); $len = strlen(AUTH_KEY); return substr($info, 0, 0 - $len); } 其中AUTH_KEY为密钥,需要自行设置 一对可逆加密函数

MySql常用函数数学函数、加密函数等(转—收藏)

MySql函数众多,这里只是列举了一部分常用的函数. 一.数学函数 ABS(x)                                         // 返回x的绝对值 BIN(x)   //返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x)                                 //返回大于x的最小整数值 EXP(x) //返回值e(自然对数的底)的x次方 FLOOR(x)   //返回小于x的最大整数值 GREATEST(x1

PHP的几个常用加密函数【转载】

转自 https://jellybool.com/post/php-encrypt-functions 在网站的开发过程中,常常需要对部分数据(如用户密码)进行加密,本文主要介绍PHP的几个常见的加密函数 MD5加密: string md5 ( string $str [, bool $raw_output = false ] ) 1.md5()默认情况下以 32 字符十六进制数字形式返回散列值,它接受两个参数,第一个为要加密的字符串,第二个为raw_output的布尔值,默认为false,如果