2013-12-20 59 views
3

我打算在我的網站上存儲禮品卡代碼,人們可以在某些商店購買禮品卡代碼,然後就可以使用這些代碼在我的網站上購買東西,現在我正在計劃以下進程,使這些代碼更難解密:在數據庫中存儲數據的安全方式

月1日,我會先用str_rot13由13個地方每一封信轉移 2日我將使用str_replace函數把每2到1和每1到2 3我會使用腳本或任何我想要的加密方法對它進行加密 最後,我會將加密的每個字母都換成13或任何我想要的。

我不是很先進,當涉及到安全性的PHP所以這就是爲什麼我要求您的意見,如果這可能是一種很好的方式來存儲數據或如果有任何其他方式來看看。

我也知道,如何防止黑客解密我存入我的數據庫的任何信息,並沒有萬無一失的計劃或策略,但我至少希望儘可能讓他們不易解碼。

注:我上面使用的方法只是我可能做的一個例子。

回答

2

我會建議你使用哈希來達到這個目的(和salting一樣),就像你使用密碼一樣。

您可以使用salt將禮物代碼散列在數據庫中,並將salt和散列存儲在數據庫中。

稍後,當用戶使用禮物代碼時,只需使用相同的方法重新哈希它並檢查數據庫中是否存在這樣的散列。如果是這樣,這意味着禮品代碼是正確的,並且您只需相應地獎勵用戶。

在我看來,散列比加密更安全。但是,如果您希望爲此使用加密,則可以使用以下問題的答案中的PHP類:Two-way encryption: I need to store passwords that can be retrieved

0

如果您使用的是數據庫,則不需要實際提供任何敏感信息用戶。

禮品卡的一種可能的流程:

  1. 每個卡有卡,紙張等上寫了一個唯一的編號(可能的方式,是很難猜測隨機生成)...

  2. 在結賬時,店員要麼使用您提供的服務來「註冊」卡的價值。或者它是預先確定的,在這種情況下卡可以分組。 (例如10美元,20美元等),但仍應以某種方式啓動以打擊欺詐。

  3. 然後將此卡交給客戶,然後可以在結帳時使用該代碼以接收與唯一號碼關聯的值。

這些卡片的安全和隱私權將交由您分發給您的商店。您需要一種方法來知道哪些商店有哪些等等,以防偷竊或其他嚴重問題。

這樣用戶無法猜測數字(很容易),因爲它會有1.購買和2.不被使用已經。

雖然哈希和加密如果正確完成可能是安全的,但給用戶關於內部的潛在信息並沒有真正意義。即使他們很難得到。

相關問題