簡體   English   中英

簡單加密

[英]Simple encryption

我正在開發游戲,我需要保存一些數據文件來保存受保護的數據,我的目標是沒有人能夠讀取/編輯文件,我編寫了一個簡單的字節操作算法:

private static final int KEY = 25156;

public static String encrypt(String s) {
    byte[] bytes = s.getBytes();
    for (int i = 0; i < bytes.length; i++)
        bytes[i] = (byte) (bytes[i] + KEY);
    return new String(bytes);
}

public static String decrypt(String s) {
    byte[] bytes = s.getBytes();
    for (int i = 0; i < bytes.length; i++)
        bytes[i] = (byte) (bytes[i] - KEY);
    return new String(bytes);
}

字符串不可讀,但是我有幾個問題:

  1. 這可以解決我的問題嗎?
  2. 如果沒有,還有什么可以解決的?

我可以建議XOR加密嗎?

編碼或解碼:

public static String crypt(String s) {
    byte[] bytes = s.getBytes();
    for (int i = 0; i < bytes.length; i++)
        bytes[i] = (byte) (bytes[i] ^ KEY);
    return new String(bytes);
}

調用crypt("foo")將進行加密。 如果再次調用crypt,它將解密: crypt(crypt("foo")) // returns "foo"

為了使其更加隨機化,您可以開始添加其他變量:

bytes[i] = (byte) (bytes[i] ^ KEY ^ i ^ bytes.length);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM