2016-01-13 27 views
0

我們經常可以找到提供應用內購買商店信用卡詳細信息的移動應用程序,以便用戶以方便的方式購買物品。我打算在客戶端實施相同的機制。以下幾點是我能想到的。用雙向加密在移動設備上保存信用卡數據

首先是涉及到幾個變量:用於購買

  • credit_card_number

    的信用卡號碼。

  • cvc

    正在使用的信用卡的CVC。

  • expiry_date

    信用卡的到期日被使用。

  • card_info_key

    用於加密和解密存儲在客戶端設備中的信用卡信息的關鍵。

是否可行,以節省card_info_key在服務器上,然後用它來加密和解密的客戶端設備如下的信用卡信息?

// credit card information entered by user 
var credit_card_number = '1234123412341234'; 
var cvc = '789'; 
var expiry_date = '12-2020'; 

// the key is retrieved from server 
var card_info_key = getCardInfoKeyFromServer(current_user); 

var card_info = { 
    'number': credit_card_number, 
    'cvc': cvc, 
    'expiry': expiry_date 
}; 

// an encrypted token is expected 
var encryptedCardInfo = encryptCardInfo(card_info, card_info_key); 

// an object containing the same data as card_info should be returned 
var decryptedCardInfo = decryptCardInfo(encryptedCardInfo, card_info_key); 

此外,我應該用什麼樣的加密和解密算法?

回答

相關問題