3
A
回答
4
您可以使用公鑰/私鑰通過OpenSSL和很簡單,一旦你使用過一次或兩次
function encryptString($clearText)
{
$keyFile=fopen("public.pem","r");
$publicKey=fread($keyFile,8192);
fclose($keyFile);
openssl_get_publickey($publicKey);
openssl_public_encrypt($clearText,$cryptText,$publicKey);
return(base64_encode($cryptText));
}
function decryptString($cryptText)
{
$keyFile=fopen("private.pem","r");
$privateKey=fread($keyFile,8192);
fclose($keyFile);
openssl_get_privatekey($privateKey);
$binText = base64_decode($cryptText);
openssl_private_decrypt($binText,$clearText,$privateKey);
return($clearText);
}
要生成一個密鑰,一個簡短的指南是http://en.wikibooks.org/wiki/Transwiki:Generate_a_keypair_using_OpenSSL
總之
openssl rsa -pubout -in private.pem -out public.pem
更新
@keepwalking問如何從命令行執行此操作,@vstm回覆了一個很棒的鏈接http://www.devco.net/archives/2006/02/13/public_-_private_key_encryption_using_openssl.php。
總之那個頁面,一旦你有鑰匙創建的,您可以通過使用下面的命令進行加密的文本文件file.txt的並輸出給file.ssl。
openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl
要解密file.ssl到另一個文件decrypt.txt,您可以使用下面的命令。
openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypted.txt
1
相關問題
- 1. PHP:加密/解密短字符串
- 2. PHP-Codeigniter字符串加密和解密
- 3. 解密字符串加密
- 4. 加密/解密字符串
- 5. php加密和解密數字字符串與密鑰
- 6. 如何解密用crypt加密的PHP密碼字符串?
- 7. 加密和解密字符串
- 8. 加密和解密字符串
- 9. 加密/解密連接字符串
- 10. OpenSSL加密/解密一個字符串
- 11. 解密一個SQL加密字符串
- 12. 加密和解密一個字符串。
- 13. Android的JNI字符串加密/解密
- 14. RSA字符串加密\解密
- 15. VB.net解密rinjdael-128加密字符串
- 16. 解密SHA加密字符串
- 17. 加密和解密一個字符串
- 18. 瞭解字符串加密
- 19. 加密密鑰和加密字符串的解密
- 20. PHP加密空字符串
- 21. 字符串加密PHP/Java
- 22. PHPSecLIB加密字符串和VB.NET解密字符串
- 23. 如何解密加密的字符串與未知解密
- 24. PHP加密和解密的字符串是URL友好
- 25. 使用ASP.Net解密字符串被PHP加密
- 26. 使用Ruby解密PHP加密字符串
- 27. 如何解密.net加密的字符串在php
- 28. 發出C++中的加密字符串並在PHP中解密
- 29. 用php生成加密字符串,用javascript解密
- 30. 如何解密使用android的php加密字符串?
哦,謝謝。它看起來很容易:)你可以在命令行函數中翻譯php函數(openssl ....)嗎? – keepwalking
@keepwalking:check out [openssl rsautl](http://www.devco.net/archives/2006/02/13/public_-_private_key_encryption_using_openssl.php)。還可以查看'openssl rsautl -help'獲取像padding-scheme之類的選項。 – vstm
@keepwalking:你的意思是使用命令行函數來加密和解密一個字符串?如果是這樣,請看看vtsm的鏈接。 – Kirk