设计一个最简单的字符串加密

该代码定义了两个函数,一个用于生成随机密钥,另一个用于加密字符串。密钥生成器从一个包含字母的字符串中创建列表,打乱顺序。加密函数遍历输入文本,用密钥中的下一个字符替换找到的每个字符,形成加密文本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

def String genKey() {
    String key = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    ArrayList<String> keyList = new ArrayList<>();
    for (int i = 0; i < key.length(); i++) {
        keyList.add(String.valueOf(key.charAt(i)));
    }
    Collections.shuffle(keyList);//打乱
    StringBuilder result = new StringBuilder();
    for (String i : keyList) {
        result.append(i);
    }
    return result.toString();
}


//加密字符串
def String encode(String text,String key){
    StringBuilder stringBuilder = new StringBuilder();
    for (int i=0;i<text.length();i++){
        String c = new String(text.charAt(i))
        int index = key.indexOf(c);
        if (index!=-1){
            index++;
            if (index>=key.length()){
                index = 0;
            }
            stringBuilder.append(key.charAt(index));
        }else{
            stringBuilder.append(c);
        }

    }
    return stringBuilder.toString();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值