美文网首页
位移密码算法挑战

位移密码算法挑战

作者: 南方番茄 | 来源:发表于2018-10-05 01:06 被阅读0次

著名的凯撒密码Caesar cipher,又叫移位密码。

移位密码也就是密码中的字母会按照指定的数量来做移位。

一个常见的案例就是ROT13密码,字母会移位13个位置。由'A' ↔ 'N', 'B' ↔'O',以此类推。

写一个ROT13函数,实现输入加密字符串,输出解密字符串。

所有的字母都是大写,不要转化任何非字母形式的字符(例如:空格,标点符号),遇到这些特殊字符,就跳过它们。
代码实现:

function rot13(str) { // LBH QVQ VG!
var start = "A".charCodeAt(0);
var end = "Z".charCodeAt(0);
var objstr = ""

var strs = str.split(" ");
for(var i=0;i<strs.length;i++){
    for(var j=0;j<strs[i].length;j++){
      
        if (strs[i].charCodeAt(j)>=start&&strs[i].charCodeAt(j)<=end) {
            if (strs[i].charCodeAt(j)-13>=start&&strs[i].charCodeAt(j)-13<=end) {
                objstr+=String.fromCharCode(strs[i].charCodeAt(j)-13);
            }else{
                objstr+=String.fromCharCode(strs[i].charCodeAt(j)+13);
            }
        } else {
            objstr+=strs[i][j];
        }
    }
    objstr+=" ";
}
return objstr.substr(0,objstr.length-1);
}

rot13("SERR PBQR PNZC");

相关文章

  • 位移密码算法挑战

    著名的凯撒密码Caesar cipher,又叫移位密码。 移位密码也就是密码中的字母会按照指定的数量来做移位。 一...

  • DES加密算法原理

    什么是对称密码算法 网络安全通信中要用到两类密码算法,一类是对称密码算法,另一类是非对称密码算法。对称密码算法有时...

  • Java分组密码算法DES

    Java分组密码算法DES 1实验内容 掌握分组密码算法DES方法,能用高级语言实现分组密码算法DES。DES算法...

  • 密码学因区块链更“值钱” 区块链因密码学更“完善”

    作者:上海交大教授、密码学家来学嘉 与密码算法密不可分的区块链 首先,区块链是密码算法搭起来的,所以说它和密码算法...

  • 仿射密码Python实现

    算法分析 仿射密码结合了移位密码和乘数密码的特点,是移位密码和乘数密码的组合。 仿射密码的加密算法就是一个线性变化...

  • AES加密算法(C++)

    AES算法是继DES之后比较快且比较简单的加密算法? AES算法 算法原理: AES密码与分组密码Rijndael...

  • 密码算法 & Https

    title: 密码算法 & Httpsdate: 2021/03/03 14:12 密码算法 本质:对原来为明⽂文...

  • 网络安全-非对称加密

    公开密钥密码算法也叫双密钥密码算法或非对称密钥密码算法,它的加密密钥与解密密钥不同。这种算法需要形成一个在数学上是...

  • 网络安全-对称加密

    对称密钥密码算法,也叫做单钥密码算法或私钥密码算法,发送方和接收方共同拥有相同的密钥,发送方使用这个密钥将明文数据...

  • 6- OpenCV+TensorFlow 入门人工智能图像处理-

    图片移位 opencvAPI实现 算法原理 源代码实现 原始图片和移位后图片 图片位移的算法原理 分析api实现原...

网友评论

      本文标题:位移密码算法挑战

      本文链接:https://www.haomeiwen.com/subject/zsmfaftx.html