IOS用戶端實現RSA加密,ios用戶端rsa

來源:互聯網
上載者:User

IOS用戶端實現RSA加密,ios用戶端rsa

在IOS的app登陸模組,使用者名稱和密碼如果直接傳給後台伺服器,很容易被截獲並偽造網路請求,

如果利用RSA演算法在每個用戶端利用公開金鑰解密,伺服器端進行私密金鑰解密,即使截獲了密碼也是無法解密的

在這裡只介紹用戶端如何對密碼進行公開金鑰加密和解密

首先開啟終端產生公開金鑰和私密金鑰(要有openSSL工具)

openssl genrsa -out private_key.pem 1024openssl req -new -key private_key.pem -out rsaCertReq.csropenssl x509 -req -days 3650 -in rsaCertReq.csr -signkey private_key.pem -out rsaCert.crtopenssl x509 -outform der -in rsaCert.crt -out public_key.der           openssl pkcs12 -export -out private_key.p12 -inkey private_key.pem -in rsaCert.crtopenssl rsa -in private_key.pem -out rsa_public_key.pem -pubout openssl pkcs8 -topk8 -in private_key.pem -out pkcs8_private_key.pem -nocrypt

在第二步的時候輸入密鑰的資訊,包括密碼,請記住你輸入的密碼
上面的命令會產生7個檔案,IOS用到的是public_key.der和private_key.p12
匯入到項目中不要直接拖拽進去,而是點擊Xcode右下角的+號,選擇add files to ""
建立項目後添加庫:Security.framework

在項目中添加所依賴的檔案RSAEncryptor和NSData+Base64在這裡下載
添加RSAEncryptor和NSData+Base64的標頭檔
實現代碼
    RSAEncryptor* rsaEncryptor = [[RSAEncryptor alloc] init];    NSString* publicKeyPath = [[NSBundle mainBundle] pathForResource:@"public_key" ofType:@"der"];    NSString* privateKeyPath = [[NSBundle mainBundle] pathForResource:@"private_key" ofType:@"p12"];    [rsaEncryptor loadPublicKeyFromFile: publicKeyPath];    [rsaEncryptor loadPrivateKeyFromFile: privateKeyPath password:@"1234"];    // 密碼        NSString* restrinBASE64STRING = [rsaEncryptor rsaEncryptString:@"你好"];    NSLog(@"加密後的: %@", restrinBASE64STRING);     //加密    NSString* decryptString = [rsaEncryptor rsaDecryptString: restrinBASE64STRING];//解密    NSLog(@"解密後的: %@", decryptString);
輸出結果

2016-10-20 16:44:22.455 RSA[10579:458963] 加密後的: trsdtG4vkzsAbMzu4k6HL3NQau6zyvhQDwzfI1OcjiOGENydbEUJ/Rt9xgCmhbaP8VEGC6Zd2ZnBMlNnQ+/YAHvGGfdrdcO9QPwRex2LX38w5ctzDKByYnrEcKI9k3jwNGHepU7E3jNPvQdL89VssP1+vq6GiAqnYVOOCwtlm0U=

2016-10-20 16:44:22.456 RSA[10579:458963] 解密後的: 你好



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.