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);
此外,我應該用什麼樣的加密和解密算法?