凯撒密码(FreeCodeCamp)

简介: 凯撒密码(FreeCodeCamp)

题目描述

image.png

解题思路

  1. 首先遍历每一个字符。
  2. 通过charCodeAt()来判断字符的ASCII码值,如果该值在A-Z之间继续判断-13之后是否还在这个范围,如果还在这个范围直接通过charCodeAt()进行转换字符即可。
  3. 如果该值不在A-Z之间,直接进行拼接原字符即可。

实现代码

function rot13(str) {
    let temp = '';
    for (let v of str) {
        if (v.charCodeAt() < 65 || v.charCodeAt() > 90) {
            temp = temp + v
        } else {
            if (v.charCodeAt()-13 < 65) {
                temp = temp + String.fromCharCode(91 - (65 - v.charCodeAt() + 13))
            } else {
                temp = temp + String.fromCharCode(v.charCodeAt()-13)
            }
        }
    }
    temp
    return temp;
}
rot13("SERR CVMMN!");
复制代码

题目链接

凯撒密码

题目反思

  • 学会使用charCodeAt()将字符转换为对应的ASCII码值。
  • 学会使用fromCharCode将ASCII码值转换为对应的字符。
  • 学会使用new Map(数组),来将一个数组转换为对应的Map,这样比一个一个的添加进Map要方便的多。
相关文章
|
7月前
|
数据安全/隐私保护 C++
【C++】凯撒密码 实现加密与解密
【C++】凯撒密码 实现加密与解密
|
7月前
|
算法 安全 程序员
详解 DES加密技术 | 凯撒密码 | 栅栏密码
详解 DES加密技术 | 凯撒密码 | 栅栏密码
256 0
|
存储 安全 数据库
浅谈密码加密
浅谈密码加密
|
数据安全/隐私保护
【密码学】密码棒密码
【密码学】密码棒密码
315 0
|
数据安全/隐私保护
7-137 凯撒密码
7-137 凯撒密码
117 0
|
数据安全/隐私保护 索引
凯撒密码(Caesar)
凯撒密码(Caesar)
115 0
|
数据安全/隐私保护 计算机视觉
QWE密码
QWE密码
354 0
|
Linux 数据安全/隐私保护
ADFGVX密码
ADFGVX密码
131 0
|
Linux 数据安全/隐私保护 知识图谱
ADFGX密码
ADFGX密码
256 0
|
Linux 数据安全/隐私保护
普莱费尔密码(playfair)
普莱费尔密码(playfair)
259 0