输入5个字符,然后将它译成密码,最后输出该密码。密码规则是:用原来的字母后面第4个字母代替原来的字母

例如,字母“A”后面的第4个字母是“E”,用“E”代替“A”。因此若你输入5个字符“China”,最后输出应为“Glmre”。... 例如,字母“A”后面的第4个字母是“E”,用“E”代替“A”。因此若你输入5个字符“China”,最后输出应为“Glmre”。 展开
 我来答
抹布_男
推荐于2017-10-06 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:66.6万
展开全部
我对你的想法很好奇!于是我努力了很长时间,纠错,测试,再纠错等等,终于写好了,一个编码函数和一个对应的解码函数,复制时记得把"加"换成英文状态(即半角字符)下的加号,有一几个加就换一次,因为度娘不显示 加号,为避免理解出错我用汉字加代替之,看代码<?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=China;function encode($str){global $abc,$ABC;
$str=str_split($str);
$strs=count($str);//循环外执行此函数会提高服务器效率
for($i=0;$i<$strs;$i加加){
if(in_array($str[$i],$abc)){
$f=array_search($str[$i],$abc)加4;
if($f>25){$f=$f-26;}
$result.=$abc[$f];
continue;
}else{
$f=array_search($str[$i],$ABC)加4;
if($f>25){$f=$f-26;}
$result.=$ABC[$f];
continue;
}
}
return $result;}//上面是编码密码的函数///////////////////////下面是解码密码的函数function decode($str){global $abc,$ABC;
$str=str_split($str);
$strs=count($str);
for($j=0;$j<$strs;$j加加){
if(in_array($str[$j],$abc)){
$f=array_search($str[$j],$abc)-4;
if($f<0){$f=$f加26;}
$result.=$abc[$f];
continue;
}else{
$f=array_search($str[$j],$ABC)-4;
if($f<0){$f=$f加26;}
$result.=$ABC[$f];
continue;
}
}return $result;}$en=encode($str);echo '这是编码后的'.$en.'<br>';echo '这是解码后的'.decode($en).'即原密码';?>如果这样编码,很容易被破解的,所以你可以把数组$abc和$ABC的元素顺序打乱,然后再用,安全性会提高哦,同时还可以增加纯数字数组,纯汉字数组,纯符号数组,用来替换数字汉字和符号,对他们编码加密,这里仅提供了大小写加密,你可以照猫画虎继续做呼~费了好长时间,纯手机编写、测试啊, 采纳吧
蓬蓬同学
2014-10-07 · TA获得超过1588个赞
知道小有建树答主
回答量:925
采纳率:0%
帮助的人:213万
展开全部
String转成char[],每个+4,超出循环,再挨个拼接起来
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式