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