公私钥加密

下面是代码实现 步骤是粗暴简单

//公钥,用于加密数据. 用于公开, 一般存放在数据提供方, 例如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(@"encPudKey === %@", encPubKey);

decPrivKey = [RSA decryptString:encPubKey privateKey:privkey];

NSLog(@"decPuivkey ===== %@", decPrivKey);

NSString *resultString = @"Y3nWGRaQzldfNtbuUZE9RH73LUGIHOtjg6hE25cLSisNPMBKm0Ikps0gEgPBLdDmysWWwmkPZfsMwG1tt3S9+OnSct/BhaT4bGt5pBZ11Db915a+FTe2RvaIM59nKmTG66b9NOo6CoYp+rZimFamQkdNnxW4SMQleujoRlZjyL0=";

decPrivKey = [RSA decryptString:resultString privateKey:privkey];

NSLog(@"decPrivKey ======= %@",decPrivKey);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • /**ios常见的几种加密方法: 普通的加密方法是讲密码进行加密后保存到用户偏好设置( [NSUserDefaul...
    彬至睢阳阅读 8,196评论 0 7
  • 嘟哝嘟哝:最近接到一个任务:在客户端动态生成RSA密钥对,然后向服务器发送这个密钥对中的公钥字符串,由服务器进行公...
    TimmyR阅读 12,538评论 19 21
  • 小时候,屋后有大片树林,林里有口井。早上太阳刚要升起的时候,人们挑着扁担,来打水,扁担两头的水筲,吱吱呀呀,颤颤悠...
    艾小Q阅读 2,985评论 0 0
  • 现在的我已经忘了做孩子时候的感受,记不清当初的愿望和理想。 但是我希望自己的小孩将来能够清楚的记得他们的童年,不论...
    深巷小池子阅读 1,828评论 1 2
  • 这支钢笔好一阵不用了,书写起来涩涩的,很不流畅。 人的思想也犹如这支笔,不可搁置。 生活是如此丰饶,岂是吾辈所能道...
    梳头美容阅读 1,621评论 0 0

友情链接更多精彩内容