2017-09-06 55 views
-2

我有一個小逸康形式取第1頁上的CC信息,不和第2頁的順序審查和處理第3頁上PHP傳遞密鑰和加密的CC到另一頁進行處理

數據和CC

我正在使用支付網關,所有存儲的都是網關的授權碼。但是,我無法從第2頁到第3頁獲取加密數據。

我正在使用鈉庫在第2頁上創建密鑰和隨機數,然後加密cc編號並將該信息與隱藏字段中的密鑰和隨機數,並傳遞到第3頁。

由於鈉創建的加密看起來是unicode,所以到達第3頁時,它似乎已經改變,加上鈉庫隨機放置的任何引號在字符串中,會導致所有內容中斷並且沒有解密。

我試圖改變從UTF8的頁面編碼到Windows 1252,但並不做任何事情。表中的實際數據如下圖所示。

鑑於這一切,什麼是從頁面移動的數據頁,所以我可以保持加密,但仍然能夠解密最後一頁上的信息的最佳方式?

僅供參考,數據庫加密也可能是這樣的:

encrypted data in table

而數據從田野看起來像

b」ç-+èâ¸;ôÞRÛ†`ó¢I+.0?「òÁk 
S¯ÉyØ°ðªàB[­±,R­â–îÒÊtH#å¥08Å 
ï%Kï8ùM+è@ðgµ%‹3ÒIçüý¡In5H 
x¹Xø–ÅÓ>¥4Èbª‚ðˆoµ9…Ÿ‘¸ZMßr§ 
+2

儲存於一個會話。 – ceejayoz

+2

這不是unicode,它是二進制數據。您需要使用二進制安全的方法來存儲和傳輸數據,因爲如果事情試圖將其解釋爲文本它會被破壞。 – Sammitch

回答

2

你不應該讓一個信用卡號碼觸摸你的服務器甚至從一個頁面傳遞到另一個,除非你是完全符合PCI標準:https://www.pcicomplianceguide.org/faq/

你表示你有AP這是一個很好的開始。然而,任何支付網關稱職將爲您提供一個安全的JavaScript方法來標記的信用卡在他們的系統,所以你永遠只能碰令牌。然後,您可以將令牌存儲在本地以供實際使用時使用。

+0

哦,我在這個問題上沒有注意到這一點。好決定。 – ceejayoz

相關問題