源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JAVA实现caesar凯撒加密算法

  • 时间:2020-06-10 22:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JAVA实现caesar凯撒加密算法
[u]复制代码[/u] 代码如下:
public class Caesar {  public static final String SOURCE = "abcdefghijklmnopqrstuvwxyz";  public static final int LEN = SOURCE.length();  /**   * @param args   */  public static void main(String[] args) {      String result = caesarEncryption("newyork");      System.out.println("encryption result:" + result);      System.out.println("decryption result:" + caesarDecryption(result));  }  //Encryption  public static String caesarEncryption(String s) {      StringBuilder sb = new StringBuilder();      if (s == null || s.length() < 1) {          System.out.println("you Input nothing.");          return null;      }      if (!isAlp(s)) {          System.out.println("input ABC... only");          return null;      }      s = s.toLowerCase();      int len = s.length();      for (int j = 0; j < len; j++) {          char c = s.charAt(j);          int a = SOURCE.indexOf(c);          if (a == LEN -1) a = -1;          if (a == LEN -2) a = -2;          if (a == LEN - 3) a = -3;          sb.append(SOURCE.charAt(a + 3));      }      return sb.toString();  }  //Decryption  public static String caesarDecryption(String s) {      StringBuilder sb = new StringBuilder();      if (s == null || s.length() < 1) {          System.out.println("you Input nothing.");          return null;      }      if (!isAlp(s)) {          System.out.println("input ABC... only");          return null;      }      s = s.toLowerCase();      for (int i = 0; i < s.length(); i++) {          char c = s.charAt(i);          int a = SOURCE.indexOf(c);          if (a == 2) a = LEN + 2;          if (a == 1) a = LEN + 1;          if (a == 0) a = LEN;          sb.append(SOURCE.charAt(a - 3));      }      return sb.toString();  }  public static boolean isAlp(String s) {      String p = "^[A-Za-z]+$";      Pattern pattern = Pattern.compile(p);      Matcher matcher = pattern.matcher(s);      if (matcher.find()) {          return true;      }      return false;  } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部