2011-01-12 35 views
0

你好我怎麼能加密解密字符串。 並且加密字符串的輸出是字母數字,並且不包含任何特殊字符。與此示例一樣。如何創建一個只包含字母和數字的加密和解密?與此相同(ABQIAAAA5SlC01zPdiQe2c6gr56AAhSc)

ABQIAAAA5SlC01zPdiQe2c6gr56AAhScFBH9YSIKcAjU8YFSuTREdFBSWYOldpPAPQqWTfiiPcWJL6ddpLw。

+0

只是澄清:*加密*或*編碼*?信息應該隱藏於第三方*(加密)還是僅*編碼*用於傳輸? – deceze 2011-01-12 02:13:51

回答

2

加密它首先一個八位位組的形式的任意序列;然後基數64對最終的密文進行編碼。 base 64的全部用途是將不可打印的數據轉換爲可打印的數據。

所以,你會用它類似如下:

明文 - >加密 - > Base64的Endode =密文

密文 - > Base64編碼解碼 - >解密=明文

+0

base 64包含特殊字符。像「+」和「/」。 – kedomonzter 2011-01-12 02:20:54

1

嘗試加密首先選擇DES,Triple-des等算法,然後使用BASE64進行編碼。

Base64編碼被設計爲表示在不需要是人類可讀取的

+1

encoding!=加密 – BalusC 2011-01-12 02:15:15

0

作爲一個說明,基地64編碼包括非字母數字的填充,即等號...

基地62編碼您的數據,然後使用任何你想加密它。將二進制值分配給a-z A-Z 0-9,然後使用與base 64編碼相同的技術來實際編碼數據。它不像Base64那麼標準,但它只是字母和數字。

0

請參閱我的回答here,這可能有所幫助。我所做的是先用任何mcrypt密碼(如blowfish)對字符串進行加密,然後使用str2hex對其進行重新加密。現在字符串只包含A-Z和0-9,沒有特殊字符。解密時,首先使用hex2str解密,然後使用用於加密的相同密碼進行解密。我在codeigniter中使用它,但我想這個概念可以在任何地方實現。我希望這可以有一些幫助。

相關問題