凯撒密码(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要方便的多。
相关文章
|
8月前
|
数据安全/隐私保护
【密码学】穴居人密码
【密码学】穴居人密码
107 1
|
4天前
|
数据安全/隐私保护 C++
【C++】凯撒密码 实现加密与解密
【C++】凯撒密码 实现加密与解密
|
4天前
|
算法 安全 程序员
详解 DES加密技术 | 凯撒密码 | 栅栏密码
详解 DES加密技术 | 凯撒密码 | 栅栏密码
118 0
|
8月前
|
数据安全/隐私保护
【密码学】密码棒密码
【密码学】密码棒密码
210 0
|
8月前
|
数据安全/隐私保护
【密码学】维京密码
【密码学】维京密码
56 1
|
12月前
|
数据安全/隐私保护
7-137 凯撒密码
7-137 凯撒密码
97 0
|
数据安全/隐私保护 索引
凯撒密码(Caesar)
凯撒密码(Caesar)
67 0
|
Linux 数据安全/隐私保护
ADFGVX密码
ADFGVX密码
81 0
|
数据安全/隐私保护
凯撒密码 (20 分)
凯撒密码 (20 分)
310 0
|
算法 数据安全/隐私保护 Python
Python编程:实现凯撒密码加密解密
Python编程:实现凯撒密码加密解密
615 0
Python编程:实现凯撒密码加密解密