UI进阶之网络进阶RSA

#import "ViewController.h"

#import "RSA.h"


@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //公钥,用于加密数据. 用于公开, 一般存放在数据提供方, 例如iOS客户端.
    
    NSString *pubkey = @"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEChqe80lJLTTkJD3X3Lyd7Fj+\nzuOhDZkjuLNPog3YR20e5JcrdqI9IFzNbACY/GQVhbnbvBqYgyql8DfPCGXpn0+X\nNSxELIUw9Vh32QuhGNr3/TBpechrVeVpFPLwyaYNEk1CawgHCeQqf5uaqiaoBDOT\nqeox88Lc1ld7MsfggQIDAQAB\n-----END PUBLIC KEY-----";
    
    //私钥,用于解密数据. 必须保密, 私钥泄露会造成安全问题.
    
    NSString *privkey = @"-----BEGIN RSA PRIVATE KEY-----\nMIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMQKGp7zSUktNOQk\nPdfcvJ3sWP7O46ENmSO4s0+iDdhHbR7klyt2oj0gXM1sAJj8ZBWFudu8GpiDKqXw\nN88IZemfT5c1LEQshTD1WHfZC6EY2vf9MGl5yGtV5WkU8vDJpg0STUJrCAcJ5Cp/\nm5qqJqgEM5Op6jHzwtzWV3syx+CBAgMBAAECgYEApSzqPzE3d3uqi+tpXB71oY5J\ncfB55PIjLPDrzFX7mlacP6JVKN7dVemVp9OvMTe/UE8LSXRVaFlkLsqXC07FJjhu\nwFXHPdnUf5sanLLdnzt3Mc8vMgUamGJl+er0wdzxM1kPTh0Tmq+DSlu5TlopAHd5\nIqF3DYiORIen3xIwp0ECQQDj6GFaXWzWAu5oUq6j1msTRV3mRZnx8Amxt1ssYM0+\nJLf6QYmpkGFqiQOhHkMgVUwRFqJC8A9EVR1eqabcBXbpAkEA3DQfLVr94vsIWL6+\nVrFcPJW9Xk28CNY6Xnvkin815o2Q0JUHIIIod1eVKCiYDUzZAYAsW0gefJ49sJ4Y\niRJN2QJAKuxeQX2s/NWKfz1rRNIiUnvTBoZ/SvCxcrYcxsvoe9bAi7KCMdxObJkn\nhNXFQLav39wKbV73ESCSqnx7P58L2QJABmhR2+0A5EDvvj1WpokkqPKmfv7+ELfD\nHQq33LvU4q+N3jPn8C85ZDedNHzx57kru1pyb/mKQZANNX10M1DgCQJBAMKn0lEx\nQH2GrkjeWgGVpPZkp0YC+ztNjaUMJmY5g0INUlDgqTWFNftxe8ROvt7JtUvlgtKC\nXdXQrKaEnpebeUQ=\n-----END RSA PRIVATE KEY-----";
    
    NSString *string = @"王梁";
    
    NSString *encPubkey;// 公钥加密的结果
    NSString *decPrivkey;// 私钥解密的结果
    
    //使用RSA进行加密
    //第一个参数: 要加密的数据
    //第二个参数: 公钥
    //RSA 加密之后得到的结果 每一次都不一样 但是都可以通过同一个私钥进行解密
    encPubkey = [RSA encryptString:string publicKey:pubkey];
    
    NSLog(@"encPubKey == %@", encPubkey);
    
    decPrivkey = [RSA decryptString:encPubkey privateKey:privkey];
    
    NSLog(@"decPrickey == %@", decPrivkey);
    
    
    NSString *resultString = @"DJR22zZVGcyQ6m9J7D1j/VA/xv6ZhhssIzs1n1I/vCOFnKwx6rEhhgfE9ReT3yNLPvkkxKph4WNSxJMDCOWKrrWxKpH7Aod6eJbmkZYnNOGfwrf+2XwVfKMCn1CmvuVmqWw1k/21Rj4PB92qHEf+E519kF4rYkg72tb+YZ5487I=";
    
    
    decPrivkey = [RSA decryptString:resultString privateKey:privkey];
    
    NSLog(@"decPrickey == %@", decPrivkey);
    
    
    
}

 

posted @ 2016-04-07 20:57  胡一波  阅读(173)  评论(0编辑  收藏  举报