當前位置:成語大全網 - 新華字典 - 怎麽用凱撒密碼加密壹句中文?

怎麽用凱撒密碼加密壹句中文?

凱撒密碼作為壹種最為古老的對稱加密體制,在古羅馬的時候都已經很流行,他的基本思想是:通過把字母移動壹定的位數來實現加密和解密。明文中的所有字母都在字母表上向後(或向前)按照壹個固定數目進行偏移後被替換成密文。例如,當偏移量是3的時候,所有的字母A將被替換成D,B變成E,以此類推X將變成A,Y變成B,Z變成C。由此可見,位數就是凱撒密碼加密和解密的密鑰。我對“怎麽用凱撒密碼加密壹句中文”產生了疑問,實際上解決方法可以有很多種,例如用數組中不斷地“大、風、方……”這些詞的簡單位移,事實上經過搜索,我選擇了使用的變換來完成。即,可以用漢字對應的字符碼來進行變換操作,這樣出來的還是漢字。比如漢字“壹”是0x4e00,凱撒移位為1的話0x4e00+1=0x4e01,對應的漢字是“丁”,如果移位為三,就是0x4e03,對應漢字是“七”。將漢字範圍內的整型轉換為16進制字符串作為後綴,前面加入\u,形成對應的unicode值。這段代碼並不復雜,遇到的問題在於:當我在main函數調用時,註釋掉的該行(如下)不能夠實現我把轉義字符\去掉,即最後輸出的是\u593a這種形式,而非unicode值對應的“太”。只要把得到的報文中的“\”換成“\”,我想就能正常地將Unicode輸出成中文了,首先想到的是使用字符串的方法。使用(“\\“,“\“),但是發現輸出結果沒有任何變化。 解決方法是:查了下API文檔,方法的定義是:public String replaceAll( String regex,String replacement) 。