Rot13加密

目錄

 

一、簡介

二、算法原理

三、舉例

四、加密算法實現

五、特點


一、簡介

Rot13是一種簡易的替換式加密算法,也稱爲迴轉13位,最早是用於英文網站上用於隱藏八卦、妙句或者髒話的工具。

二、算法原理

原理上來說是對26個小寫字母以及26個大寫字母進行操作,對原有字母的ASCII值 + 13或者ASCII-13,然後找到計算後的ASCII值對應的字母。通過這樣的規則將一個字母替換爲另一個字母,從而達到加密的目的。

規則如下:

a-m 對應替換爲 n-z

n-z 對應替換爲 a- m

A-M 對應替換爲 N-Z

N-Z 對應替換爲A-M

其他字符:例如數字、空白字符以及其他字符均保持不變,並且替換後大小寫不會改變(小寫a替換後是小寫n,而不是大寫N)

三、舉例

 

 

 

現在有字符串Virtus_163,我們按照上面的規則轉碼:

V => ASCII = 86 ASCII-13=73 對應的字母爲:I

i => ASCII = 105 ASCII+13 = 118 對應的字母爲: v

 

 

四、加密算法實現

private static String rot13(String input) {
    if (TextUtils.isEmpty(input)) {
        return null;
    }

    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < input.length(); i++) {
        char c = input.charAt(i);
        if (c >= 'a' && c <= 'm') {
            c += 13;
        } else if (c >= 'A' && c <= 'M') {
            c += 13;
        } else if (c >= 'n' && c <= 'z') {
            c -= 13;
        } else if (c >= 'N' && c <= 'Z') {
            c -= 13;
        }
        sb.append(c);
    }

    return sb.toString();
}

五、特點

是弱加密方式,本身是自反的,只要根據算法規則轉化爲實際結果

 

聯繫方式:

QQ:719074460

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章