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 是一樣的則為對稱加密。對稱加密的優點 加密速度快。對稱加密的缺點 金鑰...