可以给我4 4字母单词的密码么

输入5个字符,然后将它译成密码,最后输出该密码。密码规则是:用原来的字母后面第4个字母代替原来的字母_百度知道
输入5个字符,然后将它译成密码,最后输出该密码。密码规则是:用原来的字母后面第4个字母代替原来的字母
例如,字母“A”后面的第4个字母是“E”,用“E”代替“A”。因此若你输入5个字符“China”,最后输出应为“Glmre”。
提问者采纳
我对你的想法很好奇!于是我努力了很长时间,纠错,测试,再纠错等等,终于写好了,一个编码函数和一个对应的解码函数,复制时记得把&加&换成英文状态(即半角字符)下的加号,有一几个加就换一次,因为度娘不显示 加号,为避免理解出错我用汉字加代替之,看代码&?php
$abc=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
$ABC=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
$str=Cfunction encode($str){global $abc,$ABC;
$str=str_split($str);
$strs=count($str);//循环外执行此函数会提高服务器效率
for($i=0;$i&$$i加加){
if(in_array($str[$i],$abc)){
$f=array_search($str[$i],$abc)加4;
if($f&25){$f=$f-26;}
$result.=$abc[$f];

}else{
$f=array_search($str[$i],$ABC)加4;
if($f&25){$f=$f-26;}
$result.=$ABC[$f];

}
}
return $}//上面是编码密码的函数///////////////////////下面是解码密码的函数function decode($str){global $abc,$ABC;
$str=str_split($str);
$strs=count($str);
for($j=0;$j&$$j加加){
if(in_array($str[$j],$abc)){
$f=array_search($str[$j],$abc)-4;
if($f&0){$f=$f加26;}
$result.=$abc[$f];

}else{
$f=array_search($str[$j],$ABC)-4;
if($f&0){$f=$f加26;}
$result.=$ABC[$f];

}
}return $}$en=encode($str);echo '这是编码后的'.$en.'&br&';echo '这是解码后的'.decode($en).'即原密码';?&如果这样编码,很容易被破解的,所以你可以把数组$abc和$ABC的元素顺序打乱,然后再用,安全性会提高哦,同时还可以增加纯数字数组,纯汉字数组,纯符号数组,用来替换数字汉字和符号,对他们编码加密,这里仅提供了大小写加密,你可以照猫画虎继续做呼~费了好长时间,纯手机编写、测试啊,
提问者评价
太给力了,你的回答完美的解决了我的问题!
其他类似问题
String转成char[],每个+4,超出循环,再挨个拼接起来
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁请编程将“China”译成密码,密码规律:用原来的字母后面的第四个字母代替原来的字母。完成后将程序通用化,任意输入五个字符,利用密码规律输出加密后的密码。
请编程将“China”译成密码,密码规律:用原来的字母后面的第四个字母代替原来的字母。完成后将程序通用化,任意输入五个字符,利用密码规律输出加密后的密码。
不区分大小写匿名
什么语言?
&如果是JAVA的话,记得JAVA有 unicode编码的,顺序为abc.......ABC.....然后只需要判断&获得unicode编码然后加四位,判断如果是Z,排在最后一位是不是不需要转换了。String str = "China";&&int z = (int) 'z';//z是最后的位置&&String str1 = "";&&for (int i = 0; i & str.length(); i++) {&&&char a = str.charAt(i);&&&if (a & z - 4) {&&&&a = (char) ((int) a + 4);&&&}&&&str1 +=&&}&&System.out.println(str1);得到的结果为 Glmre
#include#includeint main(){
char str[10];
gets(str);
int i,len=strlen(str);
for(i=0;i&i++)
str[i]=str[i]+4;
printf(&%s\n&,str);
return 0;}
( ?世纪初 )设计领域最重要的发展是适应现代世界的一种设计语汇的出现,这种语汇实质同现代世界的先进技术和技术所带来的新的生活方式有关。
#include&stdio.h& void main() { char a[5]; printf(&请输入5个字符\n&); for(i=0;i&5;i++) { scanf(&%c&,&a[i]); } printf(&加密后的密码是:\n&); for(i=0;i&5;i++) a[i]=a[i]+4; for(i=0;i&5;i++) printf(&%c &,a[i]); }
#include
#include
void main()
{
char a[6],
printf(&input the string\n&);
for(i=0;i&5;i++)
a[i]=a[i]+4;
printf(&您输入的密码密文为:&);
printf(&\n 是否显示明文密码?(y or n)\n&);
scanf(&%c&,&ch);
if(ch=='y')
printf(&明文密码为:&);
for(i=0;i&5;i++)
{printf(&%c&,a[i]-4);}
system(&pause&);
}
#includevoid main(){int i=0;char a[5],b[5];printf(&please input five worlds:&);if(a[i+4]!='/0'){ b[i]=a[i+4];i++;}else if(a[i]!='/0'){b[i]=a[i];i++;}for(i=0;i&5;i++)printf(&%c&,&a[i]);}
main() {char c1='C',c2='h',c3='i',c4='n',c5='a'; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(&%c%c%c%c%c\n,&c1,c2,c3,c4,c5); }
这个很容易啊 。
#include
#include
string ser(string str)
{
string str2;
char *ch=new char[str.size()] ;
for(int i=0;i&str.size();++i)
ch[i]=str[i]+4;
str2.append(ch,str.size());
return str2;
}
int main()
{
getline(cin,str);
cout&&ser(str);
return 0;
}
#include&iostream&
#include&string&
string ser(string str)// 可以转换任意长度的字符串{&string str2;&char *ch=new char[str.size()] ;&for(int i=0;i&str.size();++i)&{&&& ch[i]=str[i]+4;
&}&str2.append(ch,str.size());&return str2;}int main(){
&&getline(cin,str);&cout&&ser(str);
return 0;
}&
&#include "stdio.h"#include "conio.h"void main(){&&& char dx(char a);&&& char Str[]="China";&&&&&&&&& printf("%s\n",&Str);&&& for(i=0;i&5;i++)&&& {&&&&& temp=Str[i];&&&&& Str[i]=dx(temp);&&& }&&& printf("%s",&Str);&&& getch();}char dx(char a){& char temp=a+4;& if(temp&'a'&&temp&'z')& {&&&& if(temp&'w')&&&& {&&&&&&&&&&&&& }&&&& else&&&& {&&&&&&&& return ((char)(((int)(temp))-((int)('z'))-1+(int)('a'))) ;&&&& }& }& if(temp&'A'&&temp&'Z')& {&&&&& if(temp&'W')&&&& {&&&&&&&&&&&&& }&&&& else&&&& {&&&&&&&& return ((char)(((int)(temp))-((int)('Z'))-1+(int)('A'))) ;&&&& }& }
& return(-1);}
判断表达式错了,下面是更正的:
#include "stdio.h"#include "conio.h"void main(){&&& char dx(char a);&&& char Str[]="Zhwyg";&&&&&&&&& printf("%s\n",&Str);&&& for(i=0;i&5;i++)&&& {&&&&& temp=Str[i];&&&&& Str[i]=dx(temp);&&& }&&& printf("%s",&Str);&&& getch();}char dx(char a){& char temp=a+4;& if(a&='a'&&a&='z')& {&&&& if(temp&'w')&&&& {&&&&&&&&&&&&& }&&&& else&&&& {&&&&&&&& return ((char)(((int)(temp))-((int)('z'))-1+(int)('a'))) ;&&&& }& }& if(a&='A'&&a&='Z')& {&&&&& if(a&'W')&&&& {&&&&&&&&&&&&& }&&&& else&&&& {&&&&&&&& return ((char)(((int)(temp))-((int)('Z'))-1+(int)('A'))) ;&&&& }& }
& return(-1);}
&#include "stdio.h"#include "conio.h"void main(){&&& char dx(char a);&&& char Str[]="Zhang";&&&&&&&&& printf("%s\n",&Str);&&& for(i=0;i&5;i++)&&& {&&&&& temp=Str[i];&&&&& Str[i]=dx(temp);&&& }&&& printf("%s",&Str);&&& getch();}char dx(char a){& char temp=a+4;& if(a&='a'&&a&='z')& {&&&& if(temp&'w')&&&& {&&&&&&&&&&&&& }&&&& else&&&& {&&&&&&&& return ((char)(((int)(temp))-((int)('z'))-1+(int)('a'))) ;&&&& }& }& if(a&='A'&&a&='Z')& {&&&&& if(a&'W')&&&& {&&&&&&&&&&&&& }&&&& else&&&& {&&&&&&&& return ((char)(((int)(temp))-((int)('Z'))-1+(int)('A'))) ;&&&& }& }
& return(-1);}
C语言 存数组直接挨个+4 大于等于W需要倒减
用原来的字母后面的第四个字母代替原来的字母 你能读的通???
代码就不写了,把思路说下:任意输入N个字符,判断字符串长度,再逐一读出每个字符的ASC码,+4后再还原成字符(要注意判断+4后如大于Z就要从A计数)
等待您来回答
编程领域专家2956人阅读
  4.当且仅当含数字和字母的密码验证
  如果密码当且仅当包含数字和字母,那么该密码的强度是中等强度。当然,它的安全性一般。以下正则表达式能够验证当且仅当包含数字和字母的密码。
[/da-zA-Z]*/d+[a-zA-Z]+[/da-zA-Z]*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& && (74)
  正则表达式(74)解释:
/d匹配长度至少1的、由数字组成的字符串。
[a-zA-Z]+匹配长度至少1的、由字母组成的字符串。
[/da-zA-Z]*匹配空字符串,或者长度至少1的、由数字或字母组成的字符串。
/d+[a-zA-Z]+保证密码既包含了数字又包含特殊字符。
  使用工具Regex Tester测试正则表达式(74),结果如图所示。
  5.当且仅当含数字和特殊字符的密码验证
  如果密码当且仅当包含数字和特殊字符,那么该密码的强度是中等强度。当然,它的安全性一般。以下正则表达式能够验证当且仅当包含数字和特殊字符的密码。
[-/d`=///[/];',./~!@#$%^&*()_+|{}:&&&?]*/d+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+[-/d`=///[/];',./~!@#$%^&*()_+|{}:&&&?]*&&&&&&&&&&&&&&&&&&&&&& &&&&&&&& (75)
  正则表达式(75)解释:
字符类[-/d`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+:/d表示任意数字;//表示字符/;/[表示字符[;/]表示字符];其他的每一个字符就表示字符本身。该字符类可以匹配数字或者特殊字符。
/d+匹配最小长度为1的、由数字组成的字符串。
[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+匹配最小长度为1的、由特殊字符组成的字符串。
/d+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+保证密码既包含了数字又包含特殊字符。
  使用工具Regex Tester测试正则表达式(75),结果如图所示。
6.当且仅当包含字母和特殊字符的密码验证
  如果密码当且仅当包含字母和特殊字符,那么该密码的强度是中等强度。当然,它的安全性一般。以下正则表达式能够验证只包含字母和特殊字符的密码。
[-a-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:&&&?]*[a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+[-a-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:&&&?]*&&&& &&&&&& (76)
  正则表达式(76)解释:
字符类[-a-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+:a-z表示小写字母;A-Z表示大写字母;//表示字符/;/[表示字符[;/]表示字符];其他的每一个字符就表示字符本身。该字符类可以匹配字母或者特殊字符。
[a-zA-Z]+匹配最小长度为1的、由字母组成的字符串。
[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+匹配最小长度为1的、由特殊字符组成的字符串。
[a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+保证密码既包含了字母又包含特殊字符。
  使用工具Regex Tester测试正则表达式(76),结果如图所示。
  7.当且仅当包含数字、字母和特殊字符的密码验证
  如果密码当且仅当包含数字、字母和特殊字符,那么该密码的强度是高强度。当然,它的安全性相对比较好。以下正则表达式能够验证当且仅当包含数字、字母和特殊字符的密码。
[-/da-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:&&&?]*
(/d+[a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+) #数字开头
|(/d+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+[a-zA-Z]+) #数字开头
|([a-zA-Z]+/d+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+) #字母开头
|([a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+/d+) #字母开头
|([-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+/d+[a-zA-Z]+) #特殊字符开头
|([-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+[a-zA-Z]+/d+) #特殊字符开头
[-/da-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:&&&?]*&&&&&&&&&&&&&&&&&&& &&&& (77)
  正则表达式(77)解释:
/d+匹配最小长度为1的、由数字组成的字符串。
[a-zA-Z]+匹配最小长度为1的、由字母组成的字符串。
[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+匹配最小长度为1的、由特殊字符组成的字符串。
/d+[a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+匹配型如&数字+字母+特殊字符&类型的字符串。
(/d+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+[a-zA-Z]+)匹配型如&数字+特殊字符+字母&类型的字符串。
[a-zA-Z]+/d+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+匹配型如&字母+数字+特殊字符&类型的字符串。
[a-zA-Z]+[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+/d+匹配型如&字母+特殊字符+数字&类型的字符串。
[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+/d+[a-zA-Z]+匹配型如&特殊字符+数字+字母&类型的字符串。
[-`=///[/];',./~!@#$%^&*()_+|{}:&&&?]+[a-zA-Z]+/d+匹配型如&特殊字符+字母+数字&类型的字符串。
字符类[-/da-zA-Z`=///[/];',./~!@#$%^&*()_+|{}:&&&?]*:/d表示任意数字;a-z表示小写字母;A-Z表示大写字母;//表示字符/;/[表示字符[;/]表示字符];其他的每一个字符就表示字符本身。该字符类可以匹配数字、字母或者特殊字符。
  使用工具Regex Tester测试正则表达式(77),结果如图所示。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:152677次
积分:3246
积分:3246
排名:第3627名
原创:178篇
评论:30条我的密码是4个小写字母加3个数字加4个小写字母,安全吗?_曼联吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:563,805贴子:
我的密码是4个小写字母加3个数字加4个小写字母,安全吗?收藏
1楼 20:26&|
我以前说我密码123456 居然有人信
2楼 20:27&|
LZSB 213 lzsb嗯,目测非常安全
3楼 20:27&|
4楼 20:28&|
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
已有236,370吧友中奖,实现梦想
内&&容:使用签名档&&
为兴趣而生,贴吧更懂你。或当前位置:
>>>在密码学中,称直接可以看懂的内容为明码,对明码进行某种处理后..
在密码学中,称直接可以看懂的内容为明码,对明码进行某种处理后得到的内容为密码.规定26个英文字母按顺序分别对应整数0到25.现有一个由4个字母构成的密码单词,若记4个字母对应的数字分别为x1,x2,x3,x4,且已知整数x1+2x2,3x2,x3+2x4,3x4除以26的余数分别为9,16,23,12,试求这个密码单词.
题型:解答题难度:中档来源:不详
显然x1,x2,x3,x4都在0~25间:∵3x2除以26余16,∴3x2=16或42或68,又∵3x2是3的倍数,∴3x2=42 即x2=14,∵x1+2x2=x1+28除以26余数为9,∴x1+28=26+9,∴x1=7,∵3x4除以26余数为12∴3x4=12或38或64,∴x4=4,又∵x3+2x4=x3+8除以26余23,∴x3+8=23或49,∴x3=15,所以x1=7,x2=14,x3=15,x4=4,它们分别对应的英语字母是7-h,14-o,15-p,4-e,∴这个密码单词为hope,意思是“希望”.
马上分享给同学
据魔方格专家权威分析,试题“在密码学中,称直接可以看懂的内容为明码,对明码进行某种处理后..”主要考查你对&&有理数除法&&等考点的理解。关于这些考点的“档案”如下:
现在没空?点击收藏,以后再看。
因为篇幅有限,只列出部分考点,详细请访问。
有理数除法
有理数除法定义:已知两个因数的积与其中一个因数,求另一个因数的运算叫做有理数的除法。有理数的除法法则:(1)除以一个数,等于乘上这个数的倒数;(2)两个数相除,同号得正,异号得负,并把绝对值相除;(3)0除以任何一个不等于0的数都等于0。有理数除法注意:①0不能做除数; ②有理数的除法和乘法是互逆运算;③在做除法运算时,根据同号得正,异号的负的法则先确定符号,在把绝对值相除,若在算式中有带分数,一般化成假分数进行计算,若不能整除,则除法运算都转化为乘法运算。
发现相似题
与“在密码学中,称直接可以看懂的内容为明码,对明码进行某种处理后..”考查相似的试题有:
906425544681464154439331416186512668

我要回帖

更多关于 我能画 用字母画画 的文章

 

随机推荐