首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何加密我的代码中的文本?

如何加密我的代码中的文本?
EN

Stack Overflow用户
提问于 2013-04-29 09:08:34
回答 1查看 99关注 0票数 0

我已经编写了这个代码来加密文本并将新文本放置在TextView中。当时我正在想办法做几件事。

  1. 如何使每一个字母=< 29,因为只有这么多的字母(在丹麦)
  2. 如何用一种方式改变第一封信,用另一种方式修改第二封信,用另一种方式修改第三封信。下一封信,第4封,应该像第一封信一样,第5封信,类似于第2封,等等。例如,“那个”变化1,2,3 = "ujdu“。 C= Integer.valueOf(ceasarNr);initialString = yourString.getText().toString();char[] chars = initialString.toCharArray();for (int i= 0;i< chars.length;++i) charsi =(Char)(Int)charsi+C;String resultString =新字符串(Chars);krypteredeTekst.setText(resultString);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-29 09:33:40

我相信你想对前三个字母中的每个字母使用不同的Ceasar键,然后对下一组的三个字母重复相同的Ceasar键,对吧?

我并不是百分之百确定如何处理的不仅仅是字母表中的26个标准字符,但是处理这个问题的一种方法是按照列表中的字符顺序列出一个列表。如果这样做,请确保将字符串转换为所有小写,以便如果有大写,则不会得到匹配错误。

请不要,我无法测试下面的代码,所以很容易就会出现错误(包括语法错误),我认为它应该可以工作,但是您应该能够使它更优雅(例如,for中的那些IFs都有点难看),一些thigns应该被移到他们自己的方法中去。

代码语言:javascript
复制
List<String> characters = new ArrayList<String>();
...Fill the List with the alphabet in order here (best to do in it's own method)
String initialString = yourString.getText().toString().toLowercase();
char[] chars = initialString.toCharArray();
for (int i = 1; i <= chars.length; i++) {
    C = Integer.valueOf(ceasarNr1);
    if ( i%2 ==0 ) C = Integer.valueOf(ceasarNr2);
    if ( i%3 ==0 ) C = Integer.valueOf(ceasarNr3);

    chars[i-1] = characters.get((characters.indexOf(chars[i-1]) + C)%29);
}
String resultString = new String(chars);
krypteredeTekst.setText(resultString);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16274913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档