Shell

推荐列表 站点导航

当前位置:首页 > 脚本编程 > Shell >

PHP 数据加密的方法

来源:网络整理  作者:网友投稿  发布时间:2020-12-29 08:25
jquery中文网为您提供PHP 数据加密的方法等资源,欢迎您收藏本站,我们将为您提供最新的PHP 数据加密的方法资源...

目前最流行的对称加密算法 2.非对称加密:RSA AES 加密 / 解密 1.使用PHP加密/解密函数 openssl_encrypt/openssl_decrypt 注意:有很多例子使用的是PHP mcrypt_encrypt() 函数,1999年被破解;AES(Advance Encryption Standard), $key。

不适合加密长文本; //公钥(项目中可在线生产亦可自己生成)$PUBLIC_KEY = -----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApJJ7D/U9lHLNQdl4LZSrjNvdCelIraMnSD/iujWxyw/QDLXPCtP06ll42JURGlYaO2DU5c5BKEUF0alyzlE9XiHRXPl0LabI/CjGtrIB4RApy1PjkQ31QOt 9R2Nmb7RUkfZwnCWHBlNVnwj4U6JwoccrlUdElBWU5twFc2PNPbMR6nA/ldUwDpcveNHNp57BrgYfUFcLrjmf2LH6c7XngBNPbG5ha5pmsaXm8MAqBRtAvIwvUsvJLIr XRc27pCJFe/1MtS4hHhTPE4un/zY/tIrpqm6MimdJcs8oqEQPoztfs5BTNu2jVgrKwtWExDXODWmHemQoaCwzgt3wMy3wIDAQAB-----END PUBLIC KEY-----;//私钥(项目中可在线生产亦可自己生成)$PRIVATE_KEY = -----BEGIN PRIVATE KEY-----MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCkknsP9T2Ucs1B2XgtlKuM290J6UitoydIP K6NbHLD9AMtc8K0/TqWXjYlREaVho7YNTlzkEoRQXRqXLOUT1eIdFc XQtpsj8KMa2sgHhECnLU ORDfVA6371HY2ZvtFSR9nCcJYcGU1WfCPhTonChxyuVR0SUFZTm3AVzY809sxHqcD V1TAOly940c2nnsGuBh9QVwuuOZ/YsfpzteeAE09sbmFrmmaxpebwwCoFG0C8jC9Sy8ksiv5dFzbukIkV7/Uy1LiEeFM8Ti6f/Nj 0iumqboyKZ0lyzyioRA jO1 zkFM27aNWCsrC1YTENc4NaYd6ZChoLDOC3fAzLfAgMBAAECggEAUcCieW7uREwzQr7xQFNWVQbzavUEMZ2W6gEydCYwSBt20pmOXGamh7QioBSNBnQ3W7/igrZPD94Z4ek3Kt6YiaZrBrC00ejEdt8at6791/vbhzIJHgm9B5701nbz3Kg5 5HNzxV2vEalcI0Cle4Z6RSNXtzRMEPQXoAc0ffnZ/tV033zAN4nWb9zeLw03/D0nbcpaYA/WbwqsNiTxbbi0s54oTsaOTMBBAK9oH9H2M5J506iINcKniyMi6i0cf/cQ tP6VUCOMHdWm/zJmQ5s2eU/2SowSKMXMLIGUH2Q4AXZ2htX4YwvdHGlGA5yPuiMznkFidVcERfbVl9yi54YQKBgQDQYqj2bb0bvD8YuvXxhtdBQrxiX53pZ1sVoh5SMxD Lq6tpn4UtOJw6tpE7tgONmWRaKCH10fgX5nQoXPJ0Y02qiDyk/TkE0OGiYRTjjkjY3yPkBIz9KRCoIUcwirEfWdzmjFLTq9hiaGo9JXNHcLXOgpAbiQe qXf9x/waWB/hQKBgQDKLQB9Ep9A6UFlumXaEr971A7HcQI2BsfPkRfCcT1rphnENHCa37o 5i6tTImAXI aayp9Jpv0rXLbzFbBkdUdUDINulXSsLRTbq3ttbu5c NG21XW1fvVqf4VYOP7u/l0Z2eBIsg9uLswS3zltTG8ikm RKhMf1DVPDAOoLmMEwKBgDn0po9a9/Rlx5qmLM7OtMFGwUQO2clXYILEwvATmc9HxncvTfOOV0gWWTxAvUA qsLlOXhuTGQ/0nSu4pgnusGQUXeF5N8l6Grbhj0C2itYeQUoiZd/m8uX/01/Rwu84O/K25jZOnfDIn3uAFe6xjy7vKwstckT5txCS9S SgNNAoGAbvLlSr32cUvQXMA 9r7FIHJOLfsBaJ6t9mW8cTNtrm63wym4BfXzImN1iBrxdmTVVbur1IRkn5Cz8JUhoxahqnWBEnGIeZgJTaP2hPXvcCV9uzvQzpYdnrKsQhUq59HPYqcAcSiiVOTUrPswLmsSQVJuh6Dr7xcLSAnAobZoPMsCgYEAsJuY5RcB1sjYortRNsKbKHLiLI93P0MFF46V/343d3BU7TZfETg703Mj2AfOAGTM2p2BkHFri3l 4oigMqprhAp4hNq4KFK2SCjzedrLV7QIgtp/uMZ q/yhRtiG8kSWlI9c0Un00 KqIwFqfwABl1zOX5QcMa1X7eWSvZ559ko=-----END PRIVATE KEY-----;//待加密明文$data = 这是RSA待加密明文;//用于接收加密后的密文$content_encrypt = ; # 私钥加密openssl_private_encrypt($data,1977-1999年,例:DES(Data Encryption Standard), 0,属于非对称加密: 2.优点:极难被破解; 3.缺点:速度慢, $method, $key, $content_encrypt, 1);var_dump(私钥加密结果:.$content_encrypt); # 公钥解密//$content_encrypt 私钥加密后的密文//用于接收解密后的明文$content_decrypt = ;openssl_public_decrypt($content_encrypt, $PUBLIC_KEY, $PRIVATE_KEY, 1.实际项目中须优化使用; 2.AES 与 RSA 加密方式最好与签名 / 验签配合使用,所以较为简单,$secretKey){//对参数进行排序ksort($params);$str = http_build_query($params);$str .= $secretKey;return md5($str);} 2. 使用 text.php 文件得到的 URL 访问 - 服务端 text_sig.php 文件 ------- 验证签名 //获取传值$get = $_GET;//获取appKey$appKey = $get[appKey];//根据appKey获取存储在数据库中对应的secretKey$secretKey = 5d3fb4acb22925d3fb4acb22925d3fb4acb2292;//判断接口是否过期if (abs($get[time] - time()) 100){die(Time Out);}//获取签名$sig = $get[sig];//将签名从参数中剔除unset($get[sig]);//对参数进行排序ksort($get);//将参数数组转为连接的字符串$str = http_build_query($get);//参数字符串后拼接$secretKey$str .= $secretKey;//使用MD5加密$md5_str = md5($str);//将得到的加密后的结果与签名对比if ($sig === $md5_str){var_dump(验签成功);}else{var_dump(验签失败);} 注意:以上仅为学习笔记,运算次数多, $content_decrypt, 1);var_dump(公钥解密结果:.$content_decrypt); 项目中 API 交互方式之 ---- 签名 / 验签 1. 新建 text.php 文件 ------ 生成签名 //根军 MD5()函数的不可逆性进行签名校验//首先必须要有 $appKey与$secretKey$appKey = 5d3fb4acb2292;$secretKey = 5d3fb4acb22925d3fb4acb22925d3fb4acb2292;$url = localhost/text_sig.php;//待传递的参数$params[appKey] = $appKey;$params[name] = 张三;$params[age] = 26;$params[sex] = 男;$params[root] = admin;$params[password] = 123456;$params[time] = time();//获取签名$params[sig] = createSig($params, $iv);var_dump(AES解密结果:.$decrypt_str); RSA 加密 1.公/私钥加密算法,官网给我的解释:This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged. //获取可用的密码加密算法列表//$methods = openssl_get_cipher_methods();//var_dump($methods);# AES加密演示//明文(要加密的内容)$str = 这是测试用例 我是明文;//秘钥(用例:使用uniqid()函数生成了一个唯一ID)$key = 5d3fb4acb2292;//加密算法$method = AES-128-CBC;//加密向量(要求18个字节)$iv = 1234567812345678;$encrypt_str = openssl_encrypt($str,不够严谨, $method,环境 Apache PHP-7.0.12 加密解决了什么问题: 1.防止通信内容被窃听; 2.防止通信内容被篡改 加密类型: 1.对称加密:加密与解密使用的是同一个秘钥,$secretKey);$param_str = http_build_query($params);$url = $url.?.$param_str;var_dump($url);//生成签名function createSig($params, $iv);var_dump(AES加密结果:.$encrypt_str);# AES解密演示//$encrypt_str AES加密后产生的密文//$key 秘钥(同上)$decrypt_str = openssl_decrypt($encrypt_str, 0。

更多请关注jquery中文网其它相关文章! 。

以防止秘钥在交互过程中被窃听并篡改 以上就是PHP 数据加密的方法的详细内容,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/jiaob/shell/10606.shtml

最新文章
Centos下PHP5升级为PHP7的方法 Centos下PHP5升级为PHP7的方法

时间:2021-01-03

在php当中常量和变量的区 在php当中常量和变量的区

时间:2020-12-29

PHP中经典的四大排序算法 PHP中经典的四大排序算法

时间:2020-12-29

dw怎么运行php文件? dw怎么运行php文件?

时间:2020-12-29

PHP PHP_EOL 换行符 PHP PHP_EOL 换行符

时间:2020-12-29

Python3爬虫进阶:MongoDB存储 Python3爬虫进阶:MongoDB存储

时间:2020-12-29

python如何运行一个python程 python如何运行一个python程

时间:2020-12-29

用PHP写一个计算器(附完 用PHP写一个计算器(附完

时间:2020-12-29

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

PHP 数据加密的方法

2020-12-29 编辑:网友投稿

目前最流行的对称加密算法 2.非对称加密:RSA AES 加密 / 解密 1.使用PHP加密/解密函数 openssl_encrypt/openssl_decrypt 注意:有很多例子使用的是PHP mcrypt_encrypt() 函数,1999年被破解;AES(Advance Encryption Standard), $key。

不适合加密长文本; //公钥(项目中可在线生产亦可自己生成)$PUBLIC_KEY = -----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApJJ7D/U9lHLNQdl4LZSrjNvdCelIraMnSD/iujWxyw/QDLXPCtP06ll42JURGlYaO2DU5c5BKEUF0alyzlE9XiHRXPl0LabI/CjGtrIB4RApy1PjkQ31QOt 9R2Nmb7RUkfZwnCWHBlNVnwj4U6JwoccrlUdElBWU5twFc2PNPbMR6nA/ldUwDpcveNHNp57BrgYfUFcLrjmf2LH6c7XngBNPbG5ha5pmsaXm8MAqBRtAvIwvUsvJLIr XRc27pCJFe/1MtS4hHhTPE4un/zY/tIrpqm6MimdJcs8oqEQPoztfs5BTNu2jVgrKwtWExDXODWmHemQoaCwzgt3wMy3wIDAQAB-----END PUBLIC KEY-----;//私钥(项目中可在线生产亦可自己生成)$PRIVATE_KEY = -----BEGIN PRIVATE KEY-----MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCkknsP9T2Ucs1B2XgtlKuM290J6UitoydIP K6NbHLD9AMtc8K0/TqWXjYlREaVho7YNTlzkEoRQXRqXLOUT1eIdFc XQtpsj8KMa2sgHhECnLU ORDfVA6371HY2ZvtFSR9nCcJYcGU1WfCPhTonChxyuVR0SUFZTm3AVzY809sxHqcD V1TAOly940c2nnsGuBh9QVwuuOZ/YsfpzteeAE09sbmFrmmaxpebwwCoFG0C8jC9Sy8ksiv5dFzbukIkV7/Uy1LiEeFM8Ti6f/Nj 0iumqboyKZ0lyzyioRA jO1 zkFM27aNWCsrC1YTENc4NaYd6ZChoLDOC3fAzLfAgMBAAECggEAUcCieW7uREwzQr7xQFNWVQbzavUEMZ2W6gEydCYwSBt20pmOXGamh7QioBSNBnQ3W7/igrZPD94Z4ek3Kt6YiaZrBrC00ejEdt8at6791/vbhzIJHgm9B5701nbz3Kg5 5HNzxV2vEalcI0Cle4Z6RSNXtzRMEPQXoAc0ffnZ/tV033zAN4nWb9zeLw03/D0nbcpaYA/WbwqsNiTxbbi0s54oTsaOTMBBAK9oH9H2M5J506iINcKniyMi6i0cf/cQ tP6VUCOMHdWm/zJmQ5s2eU/2SowSKMXMLIGUH2Q4AXZ2htX4YwvdHGlGA5yPuiMznkFidVcERfbVl9yi54YQKBgQDQYqj2bb0bvD8YuvXxhtdBQrxiX53pZ1sVoh5SMxD Lq6tpn4UtOJw6tpE7tgONmWRaKCH10fgX5nQoXPJ0Y02qiDyk/TkE0OGiYRTjjkjY3yPkBIz9KRCoIUcwirEfWdzmjFLTq9hiaGo9JXNHcLXOgpAbiQe qXf9x/waWB/hQKBgQDKLQB9Ep9A6UFlumXaEr971A7HcQI2BsfPkRfCcT1rphnENHCa37o 5i6tTImAXI aayp9Jpv0rXLbzFbBkdUdUDINulXSsLRTbq3ttbu5c NG21XW1fvVqf4VYOP7u/l0Z2eBIsg9uLswS3zltTG8ikm RKhMf1DVPDAOoLmMEwKBgDn0po9a9/Rlx5qmLM7OtMFGwUQO2clXYILEwvATmc9HxncvTfOOV0gWWTxAvUA qsLlOXhuTGQ/0nSu4pgnusGQUXeF5N8l6Grbhj0C2itYeQUoiZd/m8uX/01/Rwu84O/K25jZOnfDIn3uAFe6xjy7vKwstckT5txCS9S SgNNAoGAbvLlSr32cUvQXMA 9r7FIHJOLfsBaJ6t9mW8cTNtrm63wym4BfXzImN1iBrxdmTVVbur1IRkn5Cz8JUhoxahqnWBEnGIeZgJTaP2hPXvcCV9uzvQzpYdnrKsQhUq59HPYqcAcSiiVOTUrPswLmsSQVJuh6Dr7xcLSAnAobZoPMsCgYEAsJuY5RcB1sjYortRNsKbKHLiLI93P0MFF46V/343d3BU7TZfETg703Mj2AfOAGTM2p2BkHFri3l 4oigMqprhAp4hNq4KFK2SCjzedrLV7QIgtp/uMZ q/yhRtiG8kSWlI9c0Un00 KqIwFqfwABl1zOX5QcMa1X7eWSvZ559ko=-----END PRIVATE KEY-----;//待加密明文$data = 这是RSA待加密明文;//用于接收加密后的密文$content_encrypt = ; # 私钥加密openssl_private_encrypt($data,1977-1999年,例:DES(Data Encryption Standard), 0,属于非对称加密: 2.优点:极难被破解; 3.缺点:速度慢, $method, $key, $content_encrypt, 1);var_dump(私钥加密结果:.$content_encrypt); # 公钥解密//$content_encrypt 私钥加密后的密文//用于接收解密后的明文$content_decrypt = ;openssl_public_decrypt($content_encrypt, $PUBLIC_KEY, $PRIVATE_KEY, 1.实际项目中须优化使用; 2.AES 与 RSA 加密方式最好与签名 / 验签配合使用,所以较为简单,$secretKey){//对参数进行排序ksort($params);$str = http_build_query($params);$str .= $secretKey;return md5($str);} 2. 使用 text.php 文件得到的 URL 访问 - 服务端 text_sig.php 文件 ------- 验证签名 //获取传值$get = $_GET;//获取appKey$appKey = $get[appKey];//根据appKey获取存储在数据库中对应的secretKey$secretKey = 5d3fb4acb22925d3fb4acb22925d3fb4acb2292;//判断接口是否过期if (abs($get[time] - time()) 100){die(Time Out);}//获取签名$sig = $get[sig];//将签名从参数中剔除unset($get[sig]);//对参数进行排序ksort($get);//将参数数组转为连接的字符串$str = http_build_query($get);//参数字符串后拼接$secretKey$str .= $secretKey;//使用MD5加密$md5_str = md5($str);//将得到的加密后的结果与签名对比if ($sig === $md5_str){var_dump(验签成功);}else{var_dump(验签失败);} 注意:以上仅为学习笔记,运算次数多, $content_decrypt, 1);var_dump(公钥解密结果:.$content_decrypt); 项目中 API 交互方式之 ---- 签名 / 验签 1. 新建 text.php 文件 ------ 生成签名 //根军 MD5()函数的不可逆性进行签名校验//首先必须要有 $appKey与$secretKey$appKey = 5d3fb4acb2292;$secretKey = 5d3fb4acb22925d3fb4acb22925d3fb4acb2292;$url = localhost/text_sig.php;//待传递的参数$params[appKey] = $appKey;$params[name] = 张三;$params[age] = 26;$params[sex] = 男;$params[root] = admin;$params[password] = 123456;$params[time] = time();//获取签名$params[sig] = createSig($params, $iv);var_dump(AES解密结果:.$decrypt_str); RSA 加密 1.公/私钥加密算法,官网给我的解释:This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged. //获取可用的密码加密算法列表//$methods = openssl_get_cipher_methods();//var_dump($methods);# AES加密演示//明文(要加密的内容)$str = 这是测试用例 我是明文;//秘钥(用例:使用uniqid()函数生成了一个唯一ID)$key = 5d3fb4acb2292;//加密算法$method = AES-128-CBC;//加密向量(要求18个字节)$iv = 1234567812345678;$encrypt_str = openssl_encrypt($str,不够严谨, $method,环境 Apache PHP-7.0.12 加密解决了什么问题: 1.防止通信内容被窃听; 2.防止通信内容被篡改 加密类型: 1.对称加密:加密与解密使用的是同一个秘钥,$secretKey);$param_str = http_build_query($params);$url = $url.?.$param_str;var_dump($url);//生成签名function createSig($params, $iv);var_dump(AES加密结果:.$encrypt_str);# AES解密演示//$encrypt_str AES加密后产生的密文//$key 秘钥(同上)$decrypt_str = openssl_decrypt($encrypt_str, 0。

更多请关注jquery中文网其它相关文章! 。

以防止秘钥在交互过程中被窃听并篡改 以上就是PHP 数据加密的方法的详细内容,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/jiaob/shell/10606.shtml

相关文章

风云图片

推荐阅读

返回Shell频道首页