我需要一些指針或實例來說明如何將int加密到另一個int,並且需要一個密鑰來解密該值。對稱整數到整數加密
喜歡的東西:
encrypt(1, "secret key") == 67123571122
decrypt(67123571122, "secret key") == 1
這傢伙問幾乎同樣的問題:Symmetric Bijective Algorithm for Integers
但是我是一個總的加密「的n00b」如果可能的話,我想一些實際的例子,在蟒蛇。
我明白我需要使用某種類型的分組密碼,但我敢失去了部分關於保持加密的結果仍然是數字的,有點短(可能是長期的,而不是一個int)
任何指針?謝謝
更新- 爲什麼我要這樣做?
我有一個Web服務,其中每個「對象」獲得一個網址,例如: example.com/thing/123456/
眼下,這些ID是連續的。我想隱藏它們是連續的(數據庫ID)的事實。
的東西在這些網頁是不是「最高機密」或類似的東西,但它不應該那麼容易有人在其他一些隨機」對象窺探剛剛遞增該ID在URL中。
因此,通過某種雙向數字加密,URL ID將不會是連續的,而且需要相當多的時間才能找到更多這些對象。 (此外,請求被扼殺)
而我想保留這個數字而不是一個任意字符串的唯一原因是,這樣的變化是一個總的嵌入式替換,並且事情只會在沒有任何其他代碼更改的情況下工作。
此外,我不能只生成新的隨機數據庫ID。我必須在應用程序中處理這種加密/解密。
你爲什麼這樣做?目標是什麼?創建自己的密碼非常危險。即使看似簡單的事情,比如「只使用密碼X」,也會產生意想不到的安全後果。 – 2010-10-27 00:13:34
好點。我更新的問題 – adamJLev 2010-10-27 00:32:55
[格式保留加密(http://en.wikipedia.org/wiki/Format-preserving_encryption) – 2010-10-27 01:05:21