使用循环和 key 进行 Java 加密?

标签 java encryption

尝试使用字符串、循环和字符进行简单的加密。需要知道如何通过循环遍历句子来替换字符串中的大写字母并用键替换字符。

String capitalize = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String lower = "abcdefghijklmnopqrstuvwxyz";
String num = "1234567890";
String user = "Hello World 123 (456).";

String encrypt = "";
for (int x = 0; x < user.length(); x++)
{
    char c = user(x);
    if (Character.isUpperCase(c))
    {
        Replace the upper case letters here.
    }

//if 下面有更多代码,但只需要第一部分的帮助即可让事情顺利进行

最佳答案

字符串在 Java 中是不可变的,因此您需要将字符串 user 转换为字符数组 user.toCharArray(),然后对字符执行操作使用数组语法并转换回字符串,或者创建一个新字符串并在循环第一个字符串时向其附加字符。对于后者,您可以使用 StringBuilder 或连接运算符 +(也只使用 StringBuilder)。

StringBuilder builder = new StringBuilder();

for (char c : user.toCharArray()) {
   if (Character.isUpperCase(c)){
     builder.append(NEW_CHAR); //NEW_CHAR = char you want to replace c with
   }
   else {
     builder.append(c)
   }
}
return builder.toString();

char[] userArr = user.toCharArray();
for (int i = 0; i < userArr.length; ++i) {
 if(Character.isUpperCase(user[i]) {
    user[i] = NEW_CHAR; //NEW_CHAR = char you want to replace user[i] with
 }
}
return String.valueOf(userArr);

关于使用循环和 key 进行 Java 加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43310850/

相关文章:

javascript - window.crypto 返回 352 位 key 而不是 256?

java - 是否可以从 Java 中的单个类声明创建多个对象?

encryption - 是否可以使用 BitSlice 方法在 GPU 上加速 AES 批量加密?

.net - RsaProtectedConfigurationProvider 与 DataProtectionConfigurationProvider

php - 生成正确的 AES-256-CBC key /如何存储?

sql-server - 基于 key 和初始向量在 SQL Server 中创建对称 AES128 key

java - 我无法在 Selenium 中将 Java 的解决方案重写为 C#

Java从控制台读取整数行

java - 自动售货机程序及打印阵列

java - 使用 Java for 循环并从输出创建变量