我正在使用phpseclib lib进行rsa加密
require_once = "./Crypt/RSA.php"
$rsa = new Crypt_RSA();
$rsa->setHash('sha1');
$rsa->setMGFHash('sha1');
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_OAEP);
$rsa->setPrivateKeyFormat(CRYPT_RSA_PRIVATE_FORMAT_PKCS1);
$rsa->setPublicKeyFormat(CRYPT_RSA_PUBLIC_FORMAT_PKCS1);
// Code to Generate the public key and private key
$keys = $rsa->createKey(1024);
extract($keys);
// Base 64 encode Public and Private key
$publicKeyBase = base64_encode( $publickey );
$privateKeyBase = base64_encode( $privatekey );
// Private key
var_dump( $privateKeyBase );
echo "---------------------------------------------------------</br>";
// Public Key
var_dump($publicKeyBase);
以bae64_encode格式生成如下的公钥:
LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBbndac2s5QXpSUndEWXN5dksxLzYNCk11TTRVMlpkL3dIV1RaY01uVDR2ODdyaGVuMTZZM2szeDZ0OFJIWTBUY3hRZHJrQjIvVTZpQUdyRFMwaWppTFENClZLWmJtU1cvZ05xdk5UR0hUUlR3T0tlaVhadHNOQU01U1V2YWtVcytrMzBhd0t5U2NIV2xjL0tvMWJpZlBpYmUNCnZyM2xBTmhyMlFhT3kzY2dvbWszR040M1dpN01MTXFTMVY3M1Q4RUxYeGtDYkErRDA0WWgrZjFURVNRQkhwakoNCkIwYklBS0JKMkFYTE9Ieis1UUdFaXlGVGpMZDZsT3NpaW9LTThqbXk1R0JIdlladld0akt6RG9uVGNSQ3FpWisNCm1HYTNka1JyUkVtRDgvOXNRN0EzZldqeStBWWl1czdsRTRFZURCMWZzTFp2TVhKTzdFMGdrbk1kVGpsT3M0MU4NClhCNVVLWUZiZlJ4UWZLZlV0Y1NlTHd1ekxQMXdYWEVBRkdHcGJEYjVmZnUzR0hycUFOQWI1OUh3ZzgweTN5OVcNClRXTk4rTklIQ1ljZ2VpY01Zb2p4UC93bkUxMStwenpCNTFLZ3NEMFZrcTNVeGFKcGlaaDNBd01pdVB3cGcvdDINCnBPMWt0c3cxZDFZc2M1enkxcklIQkl5RHIxK1A5dUNadmR1aDZrRk1oQmxyaStna3poV29zRHpUWUV4SGZVQ3gNCnluZnNwRDVudmVPTzJsalBmMUpuTjlGNXEwdDR2Uk9KSllpTWhYLzJFSFpSMHI2R0pJQUFTbDlCUWJiaUZkakYNClBaQW41MFBTN0JOTXEwem9PV1NULzdzS0FtR1hHNXd1L3VEanJSRnBKaW8wMjFOTzJOWGlKVkpuOW1QcGxVSUUNCnErdGFlbnd4TUtPY3BtNUFTZjZTS0k4Q0F3RUFBUT09DQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0=
如何使用上面生成的公钥在IOS中加密
私钥:
LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tDQpNSUlKUkFJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0NTNHdnZ2txQWdFQUFvSUNBUUNmQm15VDBETkZIQU5pDQp6SzhyWC9veTR6aFRabDMvQWRaTmx3eWRQaS96dXVGNmZYcGplVGZIcTN4RWRqUk56RkIydVFIYjlUcUlBYXNODQpMU0tPSXRCVXBsdVpKYitBMnE4MU1ZZE5GUEE0cDZKZG0ydzBBemxKUzlxUlN6NlRmUnJBckpKd2RhVno4cWpWDQp1SjgrSnQ2K3ZlVUEyR3ZaQm83TGR5Q2lhVGNZM2pkYUxzd3N5cExWWHZkUHdRdGZHUUpzRDRQVGhpSDUvVk1SDQpKQUVlbU1rSFJzZ0FvRW5ZQmNzNGZQN2xBWVNMSVZPTXQzcVU2eUtLZ296eU9iTGtZRWU5aG05YTJNck1PaWRODQp4RUtxSm42WVpyZDJSR3RFU1lQei8yeERzRGQ5YVBMNEJpSzZ6dVVUZ1I0TUhWK3d0bTh4Y2s3c1RTQ1NjeDFPDQpPVTZ6alUxY0hsUXBnVnQ5SEZCOHA5UzF4SjR2QzdNcy9YQmRjUUFVWWFsc052bDkrN2NZZXVvQTBCdm4wZkNEDQp6VExmTDFaTlkwMzQwZ2NKaHlCNkp3eGlpUEUvL0NjVFhYNm5QTUhuVXFDd1BSV1NyZFRGb21tSm1IY0RBeUs0DQovQ21EKzNhazdXUzJ6RFYzVml4em5QTFdzZ2NFaklPdlg0LzI0Sm05MjZIcVFVeUVHV3VMNkNUT0ZhaXdQTk5nDQpURWQ5UUxIS2QreWtQbWU5NDQ3YVdNOS9VbWMzMFhtclMzaTlFNGtsaUl5RmYvWVFkbEhTdm9Za2dBQktYMEZCDQp0dUlWMk1VOWtDZm5ROUxzRTB5clRPZzVaSlAvdXdvQ1laY2JuQzcrNE9PdEVXa21LalRiVTA3WTFlSWxVbWYyDQpZK21WUWdTcjYxcDZmREV3bzV5bWJrQkovcElvandJREFRQUJBb0lDQUZWNlk0UjBaZ3FneXlVaE5vc1BGUEtqDQpkaFJHTXdJdVg1M25NazJYTHJsSTI0ZzJ5RUdOMTdESStZdm5LYWdqeWFCM1E0dVMzanBiQXpHYThEY01lWVQyDQp3c2VvSmE3Q1hXa3ZUVFhlcWwwWnBrbkFrRUhJOWRMekpmSHhTeHFHSllvcGVMRmdXMlhlcW1mdXpCSGhYTnVVDQpRUExhWWVZUEExUlVuVU1QWVNGSjJPRHR4S3ZTMjJnN21wM1EreWJMejZSOEZuVHRaWGYxZGVBQnhXUkg1YzYyDQplaXp6KzUxVlIrMytLaGk0WHlGVjhZM3kxYjRVUWNYSDlMRUMyS2l2SkFDNHNVUll3WEZUVk9zVk1tdzVNdFVDDQphVnoxMjk2aDBYNm03ZS9ZV1l0Y2pUVktQd0xBMFJ0UnpPL2dIaDVqZ1pOSGlTcTFMbXZwMm5mQWtCQXRSTVlGDQpVbnY4MDRKYXc5Z05Ha0VJNFFGVkhrcjNsZXEvTjN2cDNUVGxDb3drSVBqbmpkS2MvRjM3Qnh6Q1hqQUpZd1A4DQpWTjBoblF5WGxEZnNIVGJaQVRPWXFOVmN1R3pudnh3Wkd1bE9mcWNvUW41SXEycDRlM0hVVm12VHNLaXhMSnhxDQpPdDFwZkhBVWVra1l5eW1kUnVlQ3cxVElyTTdrYXA0cU9aNVFzTmhkZXRkd0RhRFVYak1OZWlGVm1DSnI0amdDDQowSXkwZStWTkVOQlVaZHR3M2NSNlFxRXc0OGkzS3Z5S2VhYi9ZNTIrWjZ4Q05vUkZkNjdwSDlVSlJaOGhaQ2ZaDQpuYS9KRXJEZDFpN0ZTZVNHN0JrbG02Wk1pVDFIT2YyZ2xqeW1kUmhUYkxxNGRndW81S1ZhQXdyRjYyZ0hFSnlRDQpFeE1yejRCR0hTUmR0eDI2SVIzQkFvSUJBUURLRnYxUmdpMjdnaTZjOE40bHdlUHZzRGU5UVp5SjB3cFJLblJRDQp1WlQwZGlMZllYTGIyNWNmSnZpZ2hmUGhZaDFoOXRTOUltdi9hbGNJdDhGOUJmWkdQWFdGaGlLbmdPUGUwbFY4DQowaUdkeDY3SVFiYUpMZ2Z3TjlSaC9lRW4yTG5HSDB3U21tbnd5cXJuQk1CL2N4ZHJsZFhSaHI4R0hKSXdUSWM0DQorVlJNVm1JcUpqdVBnSFNWQXdFYkRGdnE5alVUcmE0TkdkSzNrSUhMNm8vNnc3MXFlamQwTmIyODg1RTBVbUtpDQpHUnp6dzYwT2c0dXJ0M1dCOVhrYnpCNGkvZW9qMHJ2N3hySzNSNkhtMi8xOStKNFBzUE90ZFBpZm05dUZCRnE3DQp5ZjVGaUd6S05QUnFzc2FMUDY3Z0kvVmVDMkd6c1RMWXJNbkdEK0VaNVBCQkxJRHZBb0lCQVFESmNudHdzb1JHDQpGVWIyOS9FMURPeDBMOGY4Q0RoOWhqNGZzTktocytEUHdQRGxCVlpyZjRLNC9FalNhUmxob0N0VWRwTkYyYndrDQpYdkUyWjluYU1Jb2UwV3lQb0xnSWdPM2h3K3AybXBlRloxWUo5Q3ovclFTam1QUml1NnNSbkZvU3Q3WERXaDIvDQphMW5HNlZhYWFEcjl4MjZDZGwrNzVkWE5QbUFIYUhxa3BZL2VSSEpuUERieTRkOWRkbldLRFRXQVVuaGdTaGNsDQpTdG9EWG90dG9uNmNITm9rNGVIT0N6NTIySzRrTHRDUndVOTNuSVRmcmdKakpQSmdhNnFOKzBxaHJ5bWVkeHdhDQo5cmtvbDRnNHg0V09nWXNkcjFFbXhlM25udVdHamFUQThxVmRaZTlUdndwQmxZNmQ2UjRqckVvMGhrUFJLaUR0DQozSk5BcXFkZG81SmhBb0lCQVFERlNlUkw2bmFURStoRnRyQm8wL3llUnI1anVPWUZkMDRmSnY4ZXY4NDNTZzJKDQpYaTB2amhUZWlNRTRsUTBkL3hjSVNGd3Z1S2NPVnRaWTRHdTRqbFY3QlF6eUtaMHpRWlUwTnNyV2JKMzgxckEvDQpPRWZuYkZTN293Vm9GTjMyZEpJSVpRMXpLK1E0K3VJVlhvSSs2akQzQ3ZRTzlTa1A0bHlsWWxDd3dsZ1ZuazkvDQpMb3YrOER6Z0xHcXI2VWppL1RHYjRIYUd1NnNISWNCVlBzMEkxb2JZcUMveTkzUWdQdmlHeDljYXdNR1BDSHl1DQpLcVgwSWNwSjhVY21hQU1UemljQ2lmeVRNOHZOT2RWSTk0TmxzNDA3YkZpNEFmV21mQlcycWlXYUp2eGhEV3FIDQpqV0wvdDBBMU9ScVVId2F2cFJUZ3hDRUxmc1FNNC91eHQ5c0ZCVmxwQW9JQkFRQ1l2V2ZoQkVvTXhYZEFMTEREDQo4NStaWE4wNk9KVjBmNE85RFpvM0p5Y3UvdkRvQlVzSVNPODZDWGZCcWhTbmxBVW1qcDJOMmRDd2x4ZzNremg0DQpHbE92bUVUREJpNWpyRFl4OXhWZ2hraWF5c1pPMThnQ3VCSUxaUjd2ZWJIMHNXTU9UQ0xTRXhMNUg1RTdvNUtaDQprcXdmM2NYcHY0MUk3N1JUWVpiNEp2ek91QVhFbG90VHdURThxWXh0MWpLNjBOY2ZDK2pmd1cyWlJnN1ZmU3NrDQpubzkzR04xQ0Y4N1pKbWRmUDEyU2E3aVN1MHJndTFsNEsvejlaWGN0S3BWdi8vZ1BiYnVWdm1RZUFiSlVsOGllDQpuSkdrZ282VG5HbGdoN1NoNlRYSTlyN1QyV2NPMFFwTXFrNUJlZjlmdGZDM1Jad2lCU2VJZ1hQa1JsbVVMNUNsDQpEREFoQW9JQkFRQ3hkN2dSL2srZGJIN2ZkLzlFdVdLa0kvQ3V2dlJwVGlXaXVkcXp1N2ZKbTN0bkpzUDBkMFU0DQoxSzc4MU1tLzdlT0JqamxwZGxVWXkzOXhPdzlhc3h6R1Z5cURNSWVOUzNpcHlrczRmV0FOMGZpUFZUUmlFMVhVDQpBSFBwQkorSE1XaUIxdEVGQ1lPYXpRMEE4ZHlxNm5VWFVlMGJNOWhxWWt1cnUvblBIRzdndklIeVlrT3hrRzViDQprOFZHd2oxbHpQZVlxSXowdS80dGlBcy80bGc3MEtxSG9MMmwwUFVpZlZEY0JERmVPSEpYTms5ZWI2eGozcnhnDQpYc3B2L0N5S2dTc0pqVWpmRDl1WWFuZTdjL0dqWkM4cjI1UHozQjBzY3llWGlQYnNnajNhNkE4eGp5NGNCWG9hDQpZTzdhK1RqZGlSVVBXa2gwcWRnN0FQZGVCRDc3RVB5SQ0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQ==