RSA非對稱加密

RSA非對稱加密

RSA非對稱加密, 適用于Java和iOS

應用場景:用戶登錄時對登錄密碼進行加密

啟動終端, 創(chuàng)建證書

// create private_key.pem

openssl genrsa -out private_key.pem 1024

// create rsaCertReq.csr,這一步需要輸入一些信息(包括國家、省、市等等),根據(jù)提示操作即可

openssl req -new -key private_key.pem -out rsaCertReq.csr

// create rsaCert.crt,其中3650是有效期(天),可隨意寫

openssl x509 -req -days 3650 -in rsaCertReq.csr -signkey private_key.pem -out rsaCert.crt

// create public_key.der, For iOS

openssl x509 -outform der -in rsaCert.crt -out public_key.der

// create private_key.p12, For iOS, 這一步需要設置密碼,請牢記

openssl pkcs12 -export -out private_key.p12 -inkey private_key.pem -in rsaCert.crt

// create rsa_public_key.pem, For Java

openssl rsa -in private_key.pem -out rsa_public_key.pem -pubout

// Create pkcs8_private_key.pem, For Java

openssl pkcs8 -topk8 -in private_key.pem -out pkcs8_private_key.pem -nocrypt

在終端執(zhí)行上面的命令后,會生成7個文件。其中public_key.derprivate_key.p12這對公私鑰給iOS使用,rsa_public_key.pempkcs8_private_key.pemJAVA使用。

它們的源都來自一個私鑰:private_key.pem, 所以iOS端加密的數(shù)據(jù),可以被JAVA端解密; 同樣JAVA端加密的數(shù)據(jù)iOS端也能解密。

iOS 代碼

請將public_key.derprivate_key.p12文件拖入Xcode項目,以及NSData+Base64.h/m(可從網上下載), 并引入Security.framework依賴庫。

Demo下載地址

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 證書的概念在iOS中使用RSA加密解密,需要用到.der和.p12后綴格式的文件,其中.der格式的文件存放的是公...
    像小強一樣活著閱讀 2,951評論 6 9
  • 算法簡介 RSA算法是一種非對稱密碼算法,所謂非對稱,就是指該算法需要一對密鑰,使用其中一個加密,則需要用另一個才...
    錦鯉躍龍閱讀 400評論 0 0
  • /**ios常見的幾種加密方法: 普通的加密方法是講密碼進行加密后保存到用戶偏好設置( [NSUserDefaul...
    彬至睢陽閱讀 3,005評論 0 7
  • 一、對稱加密與非對稱加密 對稱加密:加密和解密使用的是同一個密鑰,加解密雙方必須使用同一個密鑰才能進行正常的溝通。...
    會跳舞的機器人閱讀 7,780評論 0 8
  • 半夜,你醒了,瞇著惺忪的彎彎的眼睛,一雙小手捧著媽媽的臉,小聲的甜甜的喊,媽媽,媽媽聽到心都化了,應該是平常我沒有...
    映娘閱讀 165評論 0 0