怎样对邮件正文分段加密及解密解决思路
程序员文章站
2022-06-03 19:52:58
...
怎样对邮件正文分段加密及解密
--------php 源码-------------
-------------------错误响应----------------
error:0906D06C:PEM routines:PEM_read_bio:no start line
error:0406D06E:rsa routines:RSA_padding_add_PKCS1_type_2:data too large for key size
chrtext-->>>叔??騈蕈50后帞 氧(蘗因T繥r'Um淤?/閥f貸f?,?? %vY筊諬?粁`樇昀?煲? ?枹??妎5傊([email protected]?)Q耂o瑂駾鉌t饧k[F0鴎叔??騈蕈50后帞 氧(蘗因T繥r'Um淤?/閥f貸f?,?? %vY筊諬?粁`樇昀?煲? ?枹??妎5傊([email protected]?)Q耂o瑂駾鉌t饧k[F0鴎
dcyCont-->>>
--------------------
证书及私钥 绝对正确,只是openssl_public_encrypt()函数貌似不能循环加密?求解!!!
------解决方案--------------------
文件太大了,把要加密的内容弄成一部分一部分进行加密
------解决方案--------------------
str_split($mailcont, 100); 你有可能把中文字符串给拆开了!
------解决方案--------------------
加密是大事,但是别的邮件服务商不会解你的密吧。纠结中。加还是不加
--------php 源码-------------
- PHP code
$mailcont = "邮件正文………超过1024字节………邮件正文"; $crtpath = "/usr/nc-home/webpost/mailbox/d00/1/y/u/yushuai.niu/.user/certkey/wxd.crt"; exec("chmod 777 {$crtpath}"); $fp = fopen($crtpath, "r"); $crt = fread($fp, 8192); fclose($fp); $pubKey = openssl_get_publickey($crt); //从证书中解析公钥 $keyData = openssl_pkey_get_details($pubKey); $blocks = str_split($mailcont, 1000); foreach ($blocks as $block) { //公钥加密 if (!openssl_public_encrypt($block, $chrtext, $keyData['key'])) { echo "
" . openssl_error_string() . "
"; } $chrtext .= $chrtext; } echo "chrtext-->>>$chrtext
"; $keypath = "/usr/nc-home/webpost/mailbox/d00/1/y/u/yushuai.niu/.user/secretkey/wxd.key"; exec("chmod 777 {$keypath}"); $fp = fopen($keypath, "r"); $key = fread($fp, 8192); fclose($fp); $cipher = openssl_pkey_get_private($key); openssl_private_decrypt($chrtext, $dcyCont, $cipher); echo "dcyCont-->>>$dcyCont
";
-------------------错误响应----------------
error:0906D06C:PEM routines:PEM_read_bio:no start line
error:0406D06E:rsa routines:RSA_padding_add_PKCS1_type_2:data too large for key size
chrtext-->>>叔??騈蕈50后帞 氧(蘗因T繥r'Um淤?/閥f貸f?,?? %vY筊諬?粁`樇昀?煲? ?枹??妎5傊([email protected]?)Q耂o瑂駾鉌t饧k[F0鴎叔??騈蕈50后帞 氧(蘗因T繥r'Um淤?/閥f貸f?,?? %vY筊諬?粁`樇昀?煲? ?枹??妎5傊([email protected]?)Q耂o瑂駾鉌t饧k[F0鴎
dcyCont-->>>
--------------------
证书及私钥 绝对正确,只是openssl_public_encrypt()函数貌似不能循环加密?求解!!!
------解决方案--------------------
文件太大了,把要加密的内容弄成一部分一部分进行加密
------解决方案--------------------
str_split($mailcont, 100); 你有可能把中文字符串给拆开了!
------解决方案--------------------
加密是大事,但是别的邮件服务商不会解你的密吧。纠结中。加还是不加
相关文章
相关视频