加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com/)- 数据分析、网络、云渲染、应用安全、大数据!
当前位置: 首页 > 数据库 > MySql > 正文

PHP和MySQL中的高性能加密/解密

发布时间:2020-10-19 11:50:09 所属栏目:MySql 来源:互联网
导读:我喜欢重新设计我的数据库/网站的某些方面,我正在寻找PHP中相当强大的加密函数,MySQL也支持这些函数.我还需要加密/解密为100%便携式兼容大多数情况下,我将使用PHP加密,从MySQL中选择加密版本,然后在PHP中解密.但偶尔我需要运行一个查询来解密MySQL中的字段,

我喜欢重新设计我的数据库/网站的某些方面,我正在寻找PHP中相当强大的加密函数,MySQL也支持这些函数.

我还需要加密/解密为100%便携式&兼容

大多数情况下,我将使用PHP加密,从MySQL中选择加密版本,然后在PHP中解密.
但偶尔我需要运行一个查询来解密MySQL中的字段,用于报告目的等

我看了一下mycrypt php库,但不清楚MySQL支持哪些这些密码.
有什么建议吗? 最佳答案 在使用Google-fu之后,MySQL似乎使用128位AES和电子密码本(ECB)模式.对于密钥,您需要使用恰好为16个字节的值.

假设我使用_My-16-byte-key_作为我的密钥.

SELECT AES_ENCRYPT('The rooster crows at midnight!','_My-16-byte-key_')

结果是:7e41520667dc20457db2f18644bad06dd62a2120be8b93cd5596d8ffea45ef0f

在PHP中,我可以使用mcrypt_decrypt来反转它:

$secret = '7e41520667dc20457db2f18644bad06dd62a2120be8b93cd5596d8ffea45ef0f';
$key = '_My-16-byte-key_';
print mcrypt_decrypt(MCRYPT_RIJNDAEL_128,$key,pack('H*',$secret),'ecb');

结果:

The rooster crows at midnight!

我将把反向流程作为练习留给读者. =)

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读