ctf.idf.cn/index.php?g=game&m=article&a=index&id=52
题目:
一只小羊跳过了栅栏,两只小样跳过了栅栏,一坨小羊跳过了栅栏...
tn c0afsiwal kes,hwit1r g,npt ttessfu}ua u hmqik e {m, n huiouosarwCniibecesnren.
这个题简直是脑筋急转弯,一开始拿到他不知道这是什么加密方法,搜索一下题目结果找了一会儿才发现有个栅栏加密法:
栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。
这段字符串一共85个字符,所以有两种可能:17*5 或 5*17.
编写程序解密即可。
char s[]= "tn c0afsiwal kes,hwit1r g,npt ttessfu}ua u hmqik e {m, n huiouosarwCniibecesnren.";
char t[86]= "";
int i,j,k;
k=0;
for (i=0;i<17;i++)
{
for(j=0;j<5;j++)
{
t[k++]= ch[j*17+i];
}
}
for(i=0;i<85;i++)
{
printf("%c",t[i]);
}