实现字符加密,如: 输入abc 输出efg;

作者&投稿:星古 (若有异议请与网页底部的电邮联系)
写一个方法,实现字符串的反转,如:输入abc,输出cba~

public static void main(String[] args) {
String a="abc";
String b="";
for (int i = 0; i < a.length(); i++) {
b=b+a.charAt(2-i);
System.out.println(b);
}
}

}

字符也可以使用整数来表示,其实整数0-255用%c来输出就是字符。
#include
int main() {
char s[256]; /*初始化了一个数组来存放输入的串*/
int i = 0, tmp[256] = {0}; /*tmp是一个256个整型数组,初始化成全0*/
printf("Enter the string :
");
gets(s); /*将输入的串存到s中*/


/*分析每个输入的字符,如果字符是'a' 则a=97,那么 tmp[97]将置成1 ,如果下一个字符串还是
'a',那么同样tmp[97]置成1,如果下一个字符是'b',那么tmp[98]将置成1......*/
while(s[i] != '\0')
tmp[s[i++]] = 1;

puts("
After sort and delete operation:");
/*顺序输出255个字符中s串中包含的字符*/
for(i = 0; i < 256;i++)
if(tmp[i])
printf("%c", i);
return 0;
}

那么等于是说全部ascii字符集是256个,如果有哪个字符那么就把它标记上,然后再从0开始顺序输出就可以了。

最简单的加密方法,凯撒移位加密法,即将每个需加密字符的ascii码加上一个给定的t值,解密时扣掉这个t即可。当然,你可以将t值设为一个表达式,但是这个表达式必须是个双射的表达式,即可以还原的表达式,所以常数是最简单的符合双射原则的表达式。
下面给出移位加密法的程序:
加密:
const t=10(这里自己设定)
var s:ansistring; i:longint;
begin
readln(s);
for i:=1 to length(s) do s[i]:=chr(ord(s[i])+t);
writeln(s);
end.
解密:
const t=10(一定要和加密的t值一样)
var s:ansistring; i:longint
begin
readln(s);
for i:=1 to length(s) do s[i]:=chr(ord(s[i])-t);
writeln(s);
end.

希望对你有帮助!!


舟曲县18150922808: 用c语言从键盘中输入一串字符,将字符加密为后面三位的字符,即输入abcxyz,输出为defabc -
仰泄参附: package package1; class Exceptionxyz {/*** @param args*/ public void test(String xxx){if(xxx.equals("XYZ")){try {throw new exception(xxx);} catch (exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}...

舟曲县18150922808: C语言~~字符串abc如何加密使输出结果是efg?恳请高手指教!!!万分感谢!!!
仰泄参附: #include <stdio.h> #include <string.h> int main(void) { char str[256]; int i, len; scanf("%s", str); len = strlen(str); for(i = 0; i < len; ++i) str[i] = 'a' + ((str[i] - 'a') + 4) % 26; /* 一般题目都要求回滚 所以要取模26 */ printf("%s\n", str); return 0; }

舟曲县18150922808: 字符串加密现要对一个由大写字母组成的字符串进行加密,有两种加密方法(1)替换法:把一个字母替换成它之后的第k个字母,比如AXZ,k取2,加密后得... -
仰泄参附:[答案] #include void replace(char *src, int n) { char *s = src; n = n % 26; while(*s != 0) { *s = *s + n; if(*s > 'Z') *s -= 26; s++; } } void ... printf("input: "); //请合法输入eg. AXZ 2 231 scanf("%s%d%s", str, &n, key); replace(str, n); printf("str = %s\n", str); ...

舟曲县18150922808: 在c++中怎么能实现输入一行字母,将字母加密输出 -
仰泄参附: 简单的话,可以用凯撒加密算法,输入是你的一行明文,和密钥字符串(这个是保密的),然后将你的明文的每个字符依次和密钥字符串的每个字符做按位异或操作(如果密钥过长则截断,密钥过短则重复拼接),最终得到密文.解密的方法是把密文再按位异或一遍密钥.如果要高级的加密算法,可以用AES,这个C++加密库Cryptopp有可直接调用.

舟曲县18150922808: 字符串的加密,解密;加密规则为:字符串中的每个字符加4,之后字符串进行倒置; 如用户输入为“abcd“, -
仰泄参附: System.Console.WriteLine("请选择输入要加密的字符串(输入1)还是输入要解密的字符串(输入2):");int temp = int.Parse(System.Console.ReadLine());if (temp == 1){System.Console.WriteLine("请输入要加密的字符串:");...

舟曲县18150922808: c语言如何字母加密 -
仰泄参附: //参考如下: //先输入要加密的字母 //再输入往后移动几位的参数 //最后输出加密后的字母 //绝对简单,又符合要求int main() #include<stdio.h>{ char c; scanf("%c",&c); int a; scanf("%d",&a); printf("%c\n",c+a); return 0; }

舟曲县18150922808: 编写程序实现如下字符串加密解密功能. -
仰泄参附: #include#include int main() { int i; char s[101],t[101]; scanf("%s",s); for(i=0;s[i];i++) { s[i]=tolower(s[i]); t[i]=(s[i]+i+1-'a')%26+'a'; } t[i]=0; puts(t); }

舟曲县18150922808: C语言自定义输入任意字符来进行加密解密? -
仰泄参附:#include #include int main() {char c[100];printf("输入不超过100个字符,回车键结束:");gets(c);int i;printf("原文为:%s\n",c);for(i=0;i printf("加密后的密文为:%s\n",c);return 0; }

舟曲县18150922808: 编程:对输入的字母串进行加密
仰泄参附: 我亲自用C写的,不知道你是用哪种语言,要是C++,,自己再改下就行了, #include"stdio.h" #include"stdlib.h" #include"string.h" void main(){ char str[81]; printf("enter a string\n"); gets(str); printf("加密前的明码!\n"); puts(str); int ...

舟曲县18150922808: 下面程序实现如下功能:输入一行字母将字母加密输出("a"变成"c","b"变成"d", 一直到"z"变成"b") -
仰泄参附: VB吗?

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网