PHP非對稱加密 RSA

2022-06-26 06:21:16 字數 1276 閱讀 5606

對稱加密演算法是在加密和解密時使用同乙個金鑰。與對稱加密演算法不同,非對稱加密演算法需要兩個金鑰--公開金鑰(public key)和私有金鑰(private key)進行加密和解密。

公鑰和金鑰是一對,如果公開金鑰對資料進行加密,只有對應私有金鑰才能解密;如果用私有金鑰對資料加密,那麼只有對應公有金鑰才能解密。

常用演算法:rsa、elgamal、揹包演算法、rabin、ecc等。rsa是最有影響力的公鑰加密演算法之一。

生成公金鑰:

#

生成私鑰

openssl genrsa -out rsa_private_key.pem 1024

#生成公鑰

openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

在php中用rsa進行加密解密如下:

<?php

$private_key_file = "rsa_private_key.pem";

$public_key_file = "rsa_public_key.pem";

$data = "hello world";

if (file_exists($private_key_file

))

else

if (file_exists($public_key_file

))

else

$encrypted = $decrypted = "";

openssl_private_encrypt(

$data, $encrypted, $private_key); //

使用私鑰加密資料

openssl_public_decrypt($encrypted, $decrypted, $public_key

);

echo

$decrypted

;

$encrypted = $decrypted = "";

openssl_public_decrypt(

$data, $encrypted, $public_key

); openssl_private_encrypt(

$data, $decrypted, $private_key); //

使用私鑰進行加密

echo

$decrypted;

php的RSA非對稱加密

php服務端與客戶端互動 提供開放api時,通常需要對敏感的部分api資料傳輸進行資料加密,這時候rsa非對稱加密就能派上用處了,下面通過乙個例子來說明如何用php來實現資料的加密解密 加密解密的第一步是生成公鑰 私鑰對,私鑰加密的內容能通過公鑰解密 反過來亦可以 通過私鑰能生成對應的公鑰,因此我們...

RSA非對稱加密

現實網路中,web應用的開發少不了需要對敏感資訊來進行加密,但是加密又不能草草了事,過於簡單。一旦被鑽了空子,就成了事故。比如密碼。之前用到了非對稱加密沒做記錄,這次又用到了,所以記錄下來!rsa是目前最有影響力的公鑰加密演算法,該演算法基於乙個十分簡單的數論事實 將兩個大素數相乘十分容易,但那時想...

RSA非對稱加密

對稱加密 演算法 在加密和解密時使用的是同乙個秘鑰 而 非對稱加密演算法 需要兩個 金鑰 來進行加密和解密,這兩個秘鑰是 公開金鑰 public key,簡稱公鑰 和私有金鑰 private key,簡稱私鑰 與對稱加密 演算法 不同,非對稱加密演算法 需要兩個 金鑰 公開金鑰 publickey ...