私KEY與公KEY 非對稱加密

2021-07-22 11:19:16 字數 1748 閱讀 9522

test.php

<?php

//第一步,新建乙個key

$config = array(

'config'=>'d:\test\openssl.cnf',

"digest_alg" => "sha512",

"private_key_bits" => 1024,

"private_key_type" => 0,

);$rs=openssl_pkey_new($config); 

//第二步,私鑰,和公鑰儲存

openssl_pkey_export($rs, $out,null,$config);

file_put_contents('d:\test\pri.txt', $out);

//儲存完私鑰後,取出公鑰。

$pri_key_detail=openssl_pkey_get_details($rs);

file_put_contents('d:\test\pub.txt', $pri_key_detail['key']);

echo 'ok';

test1.php

<?php

//取出私鑰和公鑰

$origin_txt='我是原文25qwfr*^*(#$&(fh';

$pri_key_txt=file_get_contents('d:\test\pri.txt');

$pub_key_txt=file_get_contents('d:\test\pub.txt');

$pri_key=openssl_get_privatekey($pri_key_txt);

$pub_key=openssl_get_publickey($pub_key_txt);

var_dump(openssl_pkey_get_details($pri_key));

var_dump(openssl_pkey_get_details($pub_key));

exit;

//私鑰加密,公解。

openssl_private_encrypt($origin_txt, $crypted, $pri_key);

echo 'openssl_private_encrypt $pri_key   : '.$crypted.''; 

var_dump($pub_key);

openssl_public_decrypt($crypted, $decrypted, $pub_key);

echo 'openssl_private_decrypt $pri_key   : '.$decrypted.'';

//私鑰加密,公解。

openssl_public_encrypt($origin_txt, $crypted, $pub_key);

echo 'openssl_private_encrypt $pri_key   : '.$crypted.'';

openssl_private_encrypt($crypted, $decrypted, $pri_key);

echo 'openssl_private_decrypt $pri_key   : '.$decrypted.'';

//得到結果

公鑰加密 混合加密(對稱加密與非對稱加密)

根據秘鑰的使用方式,將密碼分為兩種 對稱加密 aes 非對稱加密 rsa 在對稱密碼中,加密 解密時使用的是同乙個金鑰 如下圖所示流程 對稱加密流程 在使用對稱加密時,我們不可避免的會遇到秘鑰的配送問題,假設我們alice要傳送乙個通過秘鑰加密過的訊息給到bob,那麼 只有將金鑰傳送給bob,bob...

對稱加密與非對稱加密

概述目前存在兩種加密方法 一種是對稱加密 另稱私鑰加密 一種是不對稱加密 另稱公鑰加密 對稱加密 對稱加密是一種最古老也最有名的加密技術。它對加密的內容應用乙個私鑰 可以是乙個數字,乙個單詞,或者是一隨機字串 按照一定的規則進行改變,從而達到加密的目的。一種簡單的情形是把每個字母在字母表中往前或往後...

對稱加密與非對稱加密

什麼是加密?加密分為演算法和秘鑰兩部分。演算法是不變的,秘鑰是變化的,看下面的例子。秘鑰 abcedfgh 12345678。演算法 明文中每一位都換成秘鑰表中的另乙個位。例如adfh經過加密後為1568。加密金鑰k和解密金鑰k 是一樣的則為對稱加密。對稱加密的優點 加密速度快。對稱加密的缺點 金鑰...