美文网首页iOS技术专题
数据安全之RSA (对称加密)

数据安全之RSA (对称加密)

作者: fwlong | 来源:发表于2016-06-01 20:45 被阅读63次

    RAS下载地址
    公钥 密钥
    在此给出一对公钥和密钥

    //公钥: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-----";
    

    不用说了,先引入RSA

    #import "RSA.h"
    
    //加密过程
    //1.创建字符串
        NSString * string = @"铁马金戈入梦来";
        //2.创建储存公钥的字符串
        NSString * encPubKey;
        //创建储存密钥的字符串
        NSString * decPrivKey;
        //3.使用RSA加密数据
        encPubKey = [RSA encryptString:string publicKey:pubkey];
        NSLog(@"%@",encPubKey);
    //解密过程
    //encPubKey此处应放加密之后的内容,简易处理
    decPrivKey = [RSA decryptString:encPubKey privateKey:privkey];
        NSLog(@">>>%@",decPrivKey);
    

    概念

    加密和加签
    加密:公钥放在ios客户端,并且使用公钥对数据进行加密,服务端拿到数据之后用私钥进行解密;
    加签:私钥放在客户端,并使用私钥对数据进行加签,服务端拿到数据后用公钥进行验签;
    前者是为了加密,后者主要是为了验证(防止恶意攻击),防止别人模拟我们的客户端对我们的服务器进行攻击,导致服务器瘫痪.

    相关文章

      网友评论

        本文标题:数据安全之RSA (对称加密)

        本文链接:https://www.haomeiwen.com/subject/lqwhdttx.html