非对称加密算法 之 PHP版

这里演示了公钥加密、私钥解密 和私钥加密、公钥解密的实例

<?php
$publickey 
file_get_contents("/etc/ssl/crt/public.der"
);
$privatekeyfile_get_contents("/etc/ssl/crt/private.key"
);
$plaintext "String to encrypt"
;
echo 
"test : encrypt 10000 times\n"
;
$st time
();
for(
$i 0$i 10000$i
++){
        
openssl_public_encrypt($plaintext$encrypted$publickey
);
}
$et time
();
echo 
"use time:".($et$st)."\n"
;
echo 
"public encrypt and private decrypt:\n"
;
echo 
$encrypted;  
//encrypted string
openssl_private_decrypt($encrypted$plain$privatekey
);
echo 
"\n\n"
;
echo 
$plain."\n"
;
echo 
"private encrypt and public decrypt:\n"
;
openssl_private_encrypt($plaintext$encrypted$privatekey
);

echo $encrypted;  //encrypted string
echo "\n"
;
openssl_public_decrypt($encrypted$plain$publickey
);
echo 
$plain
;
echo 
"\n"
;
?>

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据