首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

PHP OpenSSL扩展 – 对称加密

所以,对于 PHPer 来说,有必要学习一下 PHP 的 OpenSSL 扩展。 本文就先从 OpenSSL 扩展中的对称加密说起。后面会陆续更多非对称加密、数字签名、数字证书等函数的讲解。...其实PHP的OpenSSL扩展支持很多种加密算法,想知道所有对称加密算法名称列表,可以调用 openssl_get_cipher_methods() 函数,这会返回一个数组: array( 0 =>...如果去掉重复项,那么 PHP 的 OpenSSL 扩展支持大概100多种不同的加密算法。 第 3 ~ 7 行 生成了 IV。为什么要生成 IV,这个 IV 有什么用?...回顾一下 openssl_get_cipher_methods() 返回的加密算法列表,有很多名字中间带有 “CBC” 字样,这些加密算法使用了同一种加密模式,也就是 密码分组链接模式(Cipher Block...在 CBC 模式加密算法中,明文会被分成若干个组,以组为单位加密。每个组的加密过程,依赖他前一个组的数据:需要跟前一组的数据进行异或操作后生成本组的密文。那么最开头的那个组又要依赖谁呢?

1.8K20

PHP的OpenSSL加密扩展学习(一):对称加密

PHP的OpenSSL加密扩展学习(一):对称加密 我们已经学过不少 PHP加密扩展相关的内容了。而今天开始,我们要学习的则是重点中的重点,那就是 OpenSSL 加密扩展的使用。...一是 OpenSSL 是目前 PHP 甚至是整个开发圈中的数据加密事实标准,包括 HTTPS/SSL 在内的加密都是它的实际应用,二是 OpenSSL 提供了对称和非对称加密的形式,也就是我们日常中最普遍的两种加密方式...在对称加密中,我们还有一种 AEAD 密码模式(GCM 或 CCM) ,在使用这种模式的算法时,我们需要多一参数。...从加密解密的过程来看,如果我们要将这些信息保存在数据库中,或者进行传输解密时,我们至少要保存或传输这几个字段,加密使用的 iv ,加密使用的算法,以及 AEAD 模式的话加密所使用的验证标签,否则数据无法解密...参考文档: https://www.php.net/manual/zh/function.openssl-encrypt.php https://www.php.net/manual/zh/function.openssl-decrypt.php

2.1K30

PHP RSA密文过长加密解密,PHP RSA证书大小自动适配,PHP RSA分段加密

项目中需要加密超长json内容才发现rsa加密长度有限制,于是换一种思路:我们将原本需要加密的内容拆分为多个字符串,一段一段的加密,解密端也是一段一段的解密即可完成。...(1).确认每次加密多少长度首先我们要知道rsa加密长度是多少,1024位的rsa能加密的长度也是1024位。那么我们一次加密多长的字符串比较好? 是不是1024/8呢?不是的!...PHP string. * privateKey => string....openssl_error_string()); } // bits数除以8 减去padding长度,OPENSSL_PKCS1_PADDING 长度是11 // php...* * @param string $text 需要加密的文本 * @param int $type 加密方式:1.公钥加密 2.私钥加密 * * @return

5810
领券