PHP RSA加解密工具,超長加密問題處理 二

2021-08-29 07:28:33 字數 1206 閱讀 3305

解決超長加密問題思路:分割分段加密

<?php

/** * rsa加解密超長處理

*/namespace leyangjun\lib;

class cryptrsa

/*** 超長加密(由於秘鑰有長度限制比如1024,2048約長表示接受的加密資料越多,否則會有超長加密不成功的問題)

* 117表示長度,加密的時候可以從這開始分割加密(解密的時候從128開始解密即可)

* @add 樂楊俊 leyangjun

* @param string $content 待加密內容

* @param string $path_rsa_public_key rsa公鑰路徑(絕對)

*/public function superlongpublickeyencrypt($content, $rsapublickey, $choicepath = true, $withbase64 = false)

else

$result = '';

$data = str_split($content, self::rsa_encrypt_block_size);

foreach ($data as $block)

if ($withbase64) else

}/**

* 超長私鑰解密(128開始擷取解密)

* @param $content 待解密串

* @param $rsaprivatekey 私鑰|絕對路徑

* @param bool|true $choicepath

* @param bool|false $withbase64

* @return bool|string

*/public static function superlongprivatekeyencrypt($content, $rsaprivatekey, $choicepath = true, $withbase64 = false)

else

if ($withbase64)

$result = '';

$data = str_split($data, self::rsa_decrypt_block_size);

foreach ($data as $block)

if ($result) else

}}

非常超長加密處理:

php rsa 加密解密

rsa 詳見維基百科 演算法是現今使用最廣泛的公鑰密碼演算法,也是號稱地球上最安全的加密演算法,與md5和sha1不同,到目前為止,也只有極短的rsa加密被破解。那麼什麼是公匙密碼演算法呢,根據金鑰的使用方法,可以將密碼分為對稱密碼和公鑰密碼,接下來我們來簡單說明下它們兩個。對稱密碼 加密和解密使用...

php RSA非對稱加密超長字元處理

class rsa param public key公鑰 return false resource private static function getpublickey public key 私鑰加密 param private key私鑰字元 param string content 加密字...

加密解密 替換加解密

加密解密 替換加解密 按一定規則重新替換明文的字元生成密文。可以有多種替換方式。include void encrypt char strdata,int ncode printf original s n strdata p strdata for i 0 i nlen i printf enco...