1. 程式人生 > >凱撒密碼加密解密--JAVA實現(基礎)

凱撒密碼加密解密--JAVA實現(基礎)

soft ring java實現 sta 想是 clas pub sof print

凱撒密碼一種代換密碼,據說凱撒是率先使用加密函的古代將領之一,因此這種加密方法被稱為愷撒密碼。凱撒密碼的基本思想是:通過把字母移動一定的位數來實現加密和解密。明文中的所有字母都在字母表上向後(或向前)按照一個固定數目進行偏移後被替換成密文。

使用JAVA程序實現對明文的加密:

package com.qikeyishu.www;

public class Kaisapwd {
  public static void main(String[] args) {
    char str[]={‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘o‘,‘p‘,‘q‘,‘r‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘x‘,‘y‘,‘z‘};

    for(char out:str){
        System.out.print(out+" ");
      }
      for(int i=0;i<26;i++){
        if(i<23){
          str[i]+=3;
        }else{
          str[i]-=23;
        }
      }
      System.out.println("\n");
      for(char out:str){
        System.out.print(out+" ");

      }
}
}

加密前後:

技術分享

使用JAVA程序實現對密文的解密:

package com.qikeyishu.www;

public class Kaisapwd {
  public static void main(String[] args) {
    char str[]={‘d‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘o‘,‘p‘,‘q‘,‘r‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘x‘,‘y‘,‘z‘,‘a‘,‘b‘,‘c‘};
    for(char out:str){
      System.out.print(out+" ");

    }
    for(int i=0;i<26;i++){
      if(i<23){
        str[i]-=3;
      }else{
        str[i]+=23;
      }
    }
    System.out.println("\n");
    for(char out:str){
      System.out.print(out+" ");
    }
}
}

解密前後:

技術分享

凱撒密碼加密解密--JAVA實現(基礎)