Redis 6实现了通道加密,提高了redis的安全性。Redis作为缓存数据库,里面很有可能缓存重要的敏感信息,所以支持tls通道加密还是很有必要的,当然敏感信息还是建议加密保存。 唯一不好的是PHP的phpredis扩展还有跟上,没找到办法链接有tls的redis服务器。 创建证书: mkdir -p redis-tls cd redis-tls openssl genrsa -out ca.key 2048 openssl req -x509 -new -nodes -sha256 -key \ ca.key…

2023年02月11日 0条评论 2181点热度 0人点赞 路灯 阅读全文

加密是一个永恒的话题,一般的做法是在程序中做好加密再存入数据库中,实际上数据库本身就带有了强大的加密功能,在开发时可以将加密减密部分丢给数据库处理,以减轻程序负担。 1. 加密减密函数 1.1 不可逆哈希函数 MD5()、SHA1()、SHA2() MariaDB [(none)]> select MD5('1234'), SHA1('1234'); +----------------------------------+------------------------…

2023年02月05日 0条评论 2205点热度 0人点赞 路灯 阅读全文

MariaDB在10.1.3版本中加入了支持表加密和表空间加密的特性,在10.1.7版本加入了支持binlog加密的特性,这使得我们可以对数据文件和binlog进行加密,避免数据文件、binlog等文件被窃取后破解出关键数据。 一. MariaDB的加密特性 1. innodb表空间加密 2. innodb日志加密 3. binlog加密 4. aria表加密 5. 临时文件加密 加密特性的一些限制: 1. 元数据文件(.frm)目前尚未加密; 2. 目前只有MariaDB server才能解密,mysqlbinl…

2023年02月05日 0条评论 2044点热度 0人点赞 路灯 阅读全文

现在很多人喜欢用md5或md5+salt加密密码存储在数据库中,从技术的角度来说,MD5真的安全,因为MD5是不可逆的,没办法解密,除了撞库这样的方式。关于撞库简单来说就是通过建立大型数据库,将常用的各种句子密码等加密成为密文,并存储在数据库中;然后拿着密文到数据库网站查询,就有可能查到密码。 但在PHP中有更好的密码存储方式:Password Hashing,主要用到了4个函数: //查看哈希值的相关信息 array password_get_info (string $hash) //创建hash密码 stri…

2022年12月30日 0条评论 2421点热度 0人点赞 路灯 阅读全文

<?php // 非常给力的authcode加密函数,Discuz!经典代码(带详解) // 函数authcode($string, $operation, $key, $expiry)中的$string:字符串,明文或密文;$operation:DECODE表示解密,其它表示加密;$key:密匙;$expiry:密文有效期。 function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0…

2022年12月27日 0条评论 2062点热度 0人点赞 路灯 阅读全文

<?php /** * PHP 非对称 加密 */ $config = array( "digest_alg" => "sha512", "private_key_bits" => 4096, //字节数 512 1024 2048 4096 等 "private_key_type" => OPENSSL_KEYTYPE_RSA, //加密类型 ); $res = openssl_pkey_new($config…

2022年12月26日 0条评论 2132点热度 0人点赞 路灯 阅读全文