我試圖找出一種方法來加密的用戶ID號。我的想法是結合一些字母(如_wordtouse)加密id(1到5個字符之間)。只有兩個要求是PHP加密和解密的字符串是URL友好
- 將加密後的版本只能包含最多15個字符
- 我需要能夠解密字符串在不同的頁面
原因這一切是當我嘗試在有人輸入用戶資料時「隱藏」用戶標識號碼。所以我試圖找到一種方法來通過url作爲get參數提供用戶標識的加密版本。
有沒有人對如何解決這個想法?
我試圖找出一種方法來加密的用戶ID號。我的想法是結合一些字母(如_wordtouse)加密id(1到5個字符之間)。只有兩個要求是PHP加密和解密的字符串是URL友好
原因這一切是當我嘗試在有人輸入用戶資料時「隱藏」用戶標識號碼。所以我試圖找到一種方法來通過url作爲get參數提供用戶標識的加密版本。
有沒有人對如何解決這個想法?
https://stackoverflow.com/a/30189841/1325575對此進行了深入解釋。
然而,短版,它不需要第三方安裝:
我相信,那些3個鏈接你你會找到你想要的。
這個問題已經在這裏找到答案,我相信:Encrypt/Encoding an ID in URL string
但我想補充一點,而不是使用的mcrypt(the project is abandoned),你應該使用:Libsodium,或化解/ PHP的加密或OpenSSL的
我只想用hashids library這是非常流行,是許多網址縮短服務的使用建議。雖然它不是真正的「加密」,但它可能足以將用戶的ID號隱藏在網址中。例如:
$userID = 1234;
$hashids = new Hashids\Hashids('some random secret string');
//encode the user id
$encodedID = $hashids->encode($user_id);
//on the other page, decode the user id
$decodedID = $hashids->decode($encodedID);
看起來很酷,樣本會很好。 –
@NinoŠkopac我在答案中包含了一個例子。我還鏈接到了他們自己網站上的更多信息。 –
對不起,我的意思是輸出的一個例子。 –
在[所以]你應該嘗試**自己寫代碼**。後** [做更多的研究](//meta.stackoverflow.com/questions/261592)**如果你有問題,你可以**發佈你已經嘗試**與清楚的解釋是什麼是'工作**並提供[** Minimal,Complete和Verifiable示例**](// stackoverflow.com/help/mcve)。我建議閱讀[問]一個好問題和[完美問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)。另外,一定要參加[遊覽]並閱讀[this](// meta.stackoverflow.com/questions/347937/)**。 –