某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上3,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,请编写一个函数,传入原文,输出密文
var n = window.prompt("请输入原文进行加密:");
encipher(n);
var n1 = 0, n2 = 0, n3 = 0, n4 = 0;//原始数字
function encipher(num) {
if (num.length != 4 || parseInt(num) != num) {//如果不是四位或者不是数字
alert("输入有误,请重新输入!");
} else {
num = Number(num);
n1 = parseInt(n / 1000);
n2 = parseInt(n / 100 % 10);
n3 = parseInt(n % 100 / 10);
n4 = n % 10;
n1 = (n1 + 3) % 10;
n2 = (n2 + 3) % 10;
n3 = (n3 + 3) % 10;
n4 = (n4 + 3) % 10;
var cen = 0;
cen = n1;
n1 = n4;
n4 = cen;
cen = n2;
n2 = n3;
n3 = cen;
n1 = n1.toString();
n2 = n2.toString();
n3 = n3.toString();
n4 = n4.toString();
alert("加密后的密文为"+n1 + n2 + n3 + n4);
}
}