>>**>******加密网络上的数据
这是指可以配置 PostgreSQL 以在网络上安全地传输数据的不同方法。SSL 和 GSSAPI 都可以通过指定主机及其加密在 pg_hba.conf 文件中进行配置。SSH 也是通过 PostgreSQL 支持的网络进行连接的常用协议。
>>**>******SSL主机身份验证
对于此级别,客户端和服务器都必须设置为在 SSL/TLS 握手中交换 SSL 证书。一旦启用,此方法可以防止可能的攻击者冒充服务器并获取对受限信息的访问权限,也称为中间人攻击。
>>**>******客户端加密
最后,也可能是最安全的选择是客户端在将数据发送到服务器之前自行加密数据。这意味着客户端必须在其端点管理所有加密和解密,但也消除了恶意管理员能够读取您的数据的可能性。
#3 加密函数
所有这些函数以及更多功能都记录在 pgcrypto 模块的 PostgreSQL 文档中。
- General Hashing
Digest 函数:
digest(data text, type text) returns bytea
此函数根据“类型”中指定的加密方法,将存储在变量“data”中的数据转换为字节数组表示的二进制Hashing。
-
**data:**我们想要计算其二进制Hashing值的输入数据
-
**type:**要使用的Hashing算法(supported: md5, sha1, sha224, sha256, sha384 and sha512)
-
**return:**以字节数组形式生成的Hashing值
-
原始加密
这些函数只是在输入的数据上运行密码,并不提供任何形式的密钥或初始化向量 (IV) 的管理。所有这些管理都应由用户处理,通常不建议在实际使用时使用。
encrypt(data bytea, key bytea, type text) returns bytea
decrypt(data bytea, key bytea, type text) returns bytea
正如我们所看到的,encrypt 和 decrypt 函数都采用相同的参数并返回相同的类型。唯一的区别是 ‘data’ 是 encrypt() 中的明文字节数组,而在 decrypt() 中,‘data’ 是加密数据的字节数组。
- **data:**表示要转换的明文(加密)或加密数据(解密)的字节数组
- **key:**用于加密或解密数据的密钥
- **type:**要使用的加密算法、模式和填充。这种“类型”与一般的哈希不同,因为我们有更多的选项可以定义。这些选项的格式为 algorithm – mode/pad:padding。例如,使用不带填充的 AES-CBC 加密的解密函数如下所示:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
[外链图片转存中…(img-n7tn0PE4-1712786008409)]