2012-10-22 30 views
0

我用我的Java初學者skils,無法弄清楚如何加密文本。是的,我知道有很多圖書館和APIS,但是這次我想這樣做,所以我完全理解了一切。java加密redux

所以我的想法和問題是如何爲字符賦值並稍後使用它們(加密和解密)。例如A = 12; B = 13; C = 14; D = 15.所以DBAC將是15131214

到目前爲止,我做了這個程序,只是增加一個字符,但我不知道如何分配不同的值。

package javaapplication2; 

public class JavaApplication2 { 
public static void main(String[] args) { 
    int b; 
    String text = "criptable text"; 
    char[] textArray = text.toCharArray(); 

    for(int index=0; index < textArray.length;index++){ 
     textArray[index]++; 

    } 

    String done = new String (textArray); 
    System.out.println(done); 
} 
} 
+1

有證據沒有加密這裏的。你的問題是什麼? – EJP

+0

好吧,Sry吸引我低PC和編程skils。我只是開始與所有的PC和編碼。但是這說全部 - 例如A = 12; B = 13; C = 14; D = 15.因此,DBAC將是15131214我想輸入句子,將改爲我的預定義值 – andris

+0

對於記錄:您的想法被稱爲[替代密碼](http://en.wikipedia.org/wiki/ Substitution_cipher)。而且這真的很糟糕。 – nfechner

回答

0

您可能正在尋找類似的東西?

public class TestType { 

public static void main(String[] args) { 

    /* 
    * Create a Map of replacements 
    */ 
    Map<Character, String> keyMap = new HashMap<Character, String>(); 
    keyMap.put('a', "12"); keyMap.put('b', "13"); 
    keyMap.put('c', "14"); keyMap.put('d', "15"); 
    keyMap.put('e', "16"); keyMap.put('f', "17"); 
    keyMap.put('g', "18"); keyMap.put('h', "19"); 
    //Add more key-values for all letter support 


    String plainText = "abcdefgh"; 
    StringBuffer encrypted = new StringBuffer(); 

    for (char ch : plainText.toCharArray()) { 
     /* Form the encrypted string */ 
     encrypted.append(keyMap.get(ch)); 

    } 

    System.out.println("Encrypted: " + encrypted.toString()); 

} 

}

+0

哇,這真的很好,很容易理解。感謝 – andris

+0

以及如何從更改的值中獲取正常文本的任何想法,因爲如果您已將char更改爲兩位數字,則無法再使用字符串進行charr。 – andris

+0

你知道它的兩位數字!..只是分裂和重建 – Kris

1

一個非常簡單的方法可能是有一個hashmap鍵值對,與主要存在的字母和值是您要指定任何數字。

然後在功能,得到陣列的性格,在hashmap

1

仰視爲了有不同的值(不僅是增量)分配給它一個值,你需要持有的信息的字典每個字母的值。

順便說一句,你正在嘗試做類似於凱撒密碼(http://en.wikipedia.org/wiki/Caesar_cipher)。

+0

是的,謝謝你這是我想做的事情,但問題是如何,我無法弄清楚 – andris

+2

mkhelif和Zohaib只是*告訴你如何。你的任務是:1)Google爲「java hashmap」或「java dictionary」,2)編寫一個使用hashmap的小測試用例(例如,映射「A」到數字「12」),最後3)已經學會了你的程序:) – paulsm4