我正在爲電子商務網站的結帳頁面工作。在所述網站中,人們輸入他們的信用卡信息並將其以AES加密格式保存到訂單中。當他們支持的是VISA時,這很好。現在他們支持萬事達卡和Discover(16位數字),它不再有效。插入查詢看起來是這樣的:AES,MySql和令人頭痛
"insert into order_master set ccnum = AES_ENCRYPT(:ccnum, 'password') ...";
我自己也嘗試了另一種格式:
"insert into order_master (ccnum, ...) values (AES_ENCRYPT(:ccnum, 'password')..)";
兩個無濟於事。有人可以試圖指出我正確的方向,我做錯了什麼?我已經去吐出條目查詢,以確保值插入正確,等沒有。這很令人沮喪,我希望有人能幫助我。謝謝!
我想我應該提到,當試圖加密萬事達卡和發現卡16位數字字符串時,插入到數據庫中的值是一個ecrypted「空」值......因爲我可以通過AES_decrypt來獲取該值。 – 2009-12-10 01:37:08
難道這只是因爲與MySQL無關的原因,當輸入MasterCard/Discovery車時,ccnum的值爲空/假? (垃圾進入 - >垃圾進出...) – mjv 2009-12-10 01:51:32
否定的,不幸的是我已經確認準備好的查詢已經用有效數據格式化了。 – 2009-12-10 02:02:03