2014-07-26 65 views
0

我開發一個刮卡券針應用如何存儲和驗證PIN碼

  1. 12位引腳由僞隨機工具
  2. 引腳(和的SerialNo)被tored生成在銷的數據庫進行認證
  3. 用戶類型使用服務,並且銷對數據庫進行覈查由掃描通過銷柱檢查
  4. 銷也應(在極少數情況下)
  5. 被解碼

問題 如果引腳被加密,將很難查詢數據庫進行驗證。由於搜索是基於pin的。 如何存儲的PIN碼,這樣

  1. 它可以是唯一的,並且驗證
+0

請解釋爲什麼它是困難的,如果引腳被加密。 –

+0

如果引腳加密,我不能根據加密值搜索數據庫,因爲大多數加密不會在重複時返回確切的值,不像哈希 在比較該值之前試圖解密所有行將是低效的,並且在大約200,000行的表中完成需要很長時間 – AmaChefe

+0

如何保存加密值而不是保存真實值。因此,在比較之前先加密插入的值插入引腳與數據庫..我不是加密專家,但如果您使用類似SHA/DES的東西,它會返回確切的價值時重複,如果只有你使用相同的密鑰.. –

回答

-1

期間匹配只是加密的PIN和存儲。當用戶輸入引腳進行驗證時,還要對其加密並將加密的存儲引腳與加密的用戶輸入引腳進行比較。如果您在極少數情況下需要解碼pin,請使用可解碼的加密。我建議不要這樣做,並且如果用戶丟失或忘記舊的,則強制用戶更新爲新的PIN。