求程序!!!拜托拜托
明文:Official Secret Act
密文:Oc rAfiilSce cfaett
uj5u.com熱心網友回復:
應該不是標準的柵欄密碼吧?找了個在線的
https://www.qqxiuzi.cn/bianma/zhalanmima.php
結果是不對的,估計是在柵欄的基礎上做了調整,或者是做了超過一次的柵欄后的結果
uj5u.com熱心網友回復:
Official Secret Act
O c . r A
f i i l S c e . c
f a e t t
uj5u.com熱心網友回復:
把結果粘貼出來后,我覺得不算是柵欄密碼吧樓主的這個密碼,是將密碼明文分成三行,每次列加1,行向下或向上固定方向直到邊界,然后將每行的字符拼接起來
如果是4行,就是下邊這個規律了
Official Secret Act
O a r t
f i l c e c
f c . e t A
i S .
Oartfilcecfc etAiS
uj5u.com熱心網友回復:
var key = 'abcdefg, hijklmn, opq, rst, uvw, xyz. xyz, now you see, I can say my abc.';
function encode(key,layer){
var arr = [];
for(var i=0;i<layer;i++){
arr.push(new Array(key.length));
};
for(var i=0;i<key.length;i++){
var m = i%((layer-1)*2);
var l = m < layer ? i%((layer-1)*2) : (layer-1)*2-i%((layer-1)*2);
arr[l][i]=key[i];
}
var result = '';
for(var i=0;i<arr.length;i++){
result += arr[i].join('');
}
return result;
}
function decode(key,layer){
var arr = [];
for(var i=0;i<layer;i++){
arr.push(new Array(key.length));
};
for(var i=0;i<key.length;i++){
var m = i%((layer-1)*2);
var l = m < layer ? i%((layer-1)*2) : (layer-1)*2-i%((layer-1)*2);
arr[l][i]='fill';
}
for(var i=0;i<key.length;i++){
var z = 0;
for (var x=0;x<arr.length ;x++ )
{
var c = false;
for(var y=0;y<arr[x].length;y++){
if (arr[x][y])
{
if (z==i)
{
arr[x][y] = key[i];
c = true;
break;
}
z++;
}
}
if (c)
{
break;
}
}
}
var r = ''
for(var i=0;i<key.length;i++){
var m = i%((layer-1)*2);
var l = m < layer ? i%((layer-1)*2) : (layer-1)*2-i%((layer-1)*2);
r+=arr[l][i];
}
return r;
}
alert(encode(key,6));
alert(decode(encode(key,6),6));
用js做了個加密解密的互逆運算方法,需要帶層深引數
uj5u.com熱心網友回復:
謝謝你,和我老師有得一比??轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/83697.html
標籤:疑難問題
