RSA Overview
實作
RSA encrypt/ encrypt
rsa encrypt
• Get public’s key
• RSA’s Encrypt
• Base64’s Encode
rsa decrypt
• get private’s key
• Base64’s Decode
• RSA’s Decrypt
By PHP
• // rsa encrypt
• openssl_public_encrypt($text, $ encrypt _text, $public_key,
OPENSSL_PKCS1_OAEP_PADDING);
• $encrypted = base64_encode($encrypted);
• echo $encrypted;
• // rsa decrypt
• $encrypted = base64_decode($encrypted);
• openssl_private_decrypt($encrypted , $decrypted,
$private_key, OPENSSL_PKCS1_OAEP_PADDING);
• echo $decrypted;
By Android
By Python
By C#
為什麼解不開!!!
XXX加密OOO解密
1. http://www.voidcn.com/article/p-wqfbjkpx-
bky.html
2. https://ifun01.com/8RECSF4.html
3. https://my.oschina.net/u/566591/blog/309771
4. https://blog.csdn.net/mshootingstar/article/det
ails/56496719
相關名詞
編碼方式
• DER
– 二進位格式
• PEM
– 將DER進行base 64 encode
PKCS(Public Key Cryptography Standards)
• PKCS #1
– RSA Cryptography Standard
– version 2.1
• PKCS #8
– Private-Key Information Syntax Standard
– version 1.2
副檔名
• .CRT
• .CER
• .KEY
===========我是分隔線===========
• .CSR
• .PFX/.P12
• .p7b
• .JKS
provider
• BC - bouncy castle
• JCE - Java Cryptography Extension
相同明文會產生相同密文?
PADDING
• RSA_NO_PADDING
• RSA_PKCS1_PADDING
• RSA_PKCS1_OAEP_PADDING
• RSA_SSLV23_PADDING

Rsa Overview