【问题标题】:how to encrypt a string in java [duplicate]如何在java中加密字符串[重复]
【发布时间】:2019-06-28 06:48:50
【问题描述】:

我想通过向字符串中的每个字符添加 +1 (ascii) 来加密字符串 这是我的尝试

public static string encrypt(string str){
for(int i = 0; i < str.length(); i++){
    int x = str.charAt(i) ;
    x = x + 1; 
}

// 现在我怎样才能完成这个循环来生成一个新的字符串,通过给每个字符加 1 来加密字符串?

【问题讨论】:

  • 请注意,像 char 这样的整数类型上的 +1 会产生从 32767 到 -32768 或从 65535 到 0 的循环。此外,我相信 java 遵循其字符集的直接 16 位编码( UCS 的 BMP) 表示“+1”可能不一定会产生字符集中真正有效字符的代码点编号。参见例如en.wikibooks.org/wiki/Unicode/Character_reference/2000-2FFF 处的灰色框。所有这些东西可能产生“有趣”的结果。

标签: java


【解决方案1】:

我建议你尝试以下方法:

Public static string encrypt(string str){
    String result = "";   
    for(int i=0; i<str.length() ; i++){
        int x = str.charAt(i) ;
        x = x+1 ;
        result+= Character.toString((char)x);
    }
    return result;
 }

【讨论】:

  • 很好的解决方案。虽然如果您使用StringBuilder 会更好,以避免每次向其附加字符时复制整个result 字符串
  • 是的,它会更快一点。
猜你喜欢
  • 2017-01-06
  • 2020-07-02
  • 2011-12-05
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-11
  • 1970-01-01
相关资源
最近更新 更多