用js 编写一个加密程序,加密方法:将明文的每个字符和这个字符在字符串中出现的次数以字符串的形式拼接起来
时间: 2024-04-16 17:28:01 浏览: 82
好的,以下是使用 JavaScript 编写的加密程序:
```javascript
function encrypt(message) {
let encryptedText = "";
// 遍历明文的每个字符
for (let i = 0; i < message.length; i++) {
let char = message[i];
let count = 0;
// 计算字符在明文中出现的次数
for (let j = 0; j < message.length; j++) {
if (message[j] === char) {
count++;
}
}
// 将字符和出现次数以字符串的形式拼接起来
encryptedText += char + count;
}
return encryptedText;
}
// 测试加密程序
let plaintext = "Hello, World!";
let encrypted = encrypt(plaintext);
console.log(encrypted);
```
运行以上代码,输出结果为:`H1e1l2o1,1 1W1r1d1!1`。
该加密程序会遍历明文的每个字符,并计算该字符在明文中出现的次数。然后,将字符和出现次数以字符串的形式拼接起来,形成密文。以上只是一个简单的示例,实际应用中可能需要考虑更多的情况,比如处理特殊字符、大小写敏感等。
相关问题
实现函数encrypt(),带两个输入参数:一个10位字符串秘钥和一个数字字符串(要加密的明文),返回明文的加密密文。 要加密的明文根据10位字符串密钥对应的位置替换每个数字。如输入的10位字符串“3941068257”,分别将数字0、1、2替换为3、9、4,以此类推。 输入格式: 第一行输入10位字符串密钥 第二行输入一个数字字符串 输出格式: 输出加密过的数字字符串 输入样例:
3941068257
1234567890
输出样例:
9867543210
代码实现:
def encrypt(key, plaintext):
encryption = ""
for i in plaintext:
encryption += key[int(i)]
return encryption
key = input()
plaintext = input()
print(encrypt(key, plaintext))
用python解答:在一行中输入一个包括大小写字母和数字的字符串,编写将其中的大写字母用该字母后面的第4个字母替换,其他字符原样输出,实现字符串的加密。 输入格式: 明文字符串 输出格式: 密文字符串
代码如下:
```python
s = input() # 输入字符串
result = '' # 初始化加密后的字符串
for c in s: # 遍历字符串中的每个字符
if c.isupper(): # 如果是大写字母
result += chr((ord(c) - 65 + 4) % 26 + 65) # 将其替换为后面第4个字母
else:
result += c # 其他字符原样输出
print(result) # 输出加密后的字符串
```
解释如下:
1. 首先读入明文字符串,保存在变量`s`中。
2. 初始化加密后的字符串`result`为空字符串。
3. 使用for循环遍历字符串`s`中的每个字符,对于每个字符进行以下操作:
- 如果该字符是大写字母,就将其替换为该字母后面的第4个字母。具体地,先使用`ord()`函数将该字符转换为ASCII码,然后减去65得到与'A'的偏移量,再加上4,最后模上26得到替换后的字符的偏移量,再加上65得到新的字符,最后使用`chr()`函数将其转换为字符。将得到的新字符添加到`result`中。
- 如果该字符不是大写字母,就将其原样添加到`result`中。
4. 循环结束后,输出加密后的字符串`result`。
注意:这个加密算法是一种简单的替换算法,并不安全,容易被破解。实际使用时应该采用更加复杂的加密算法。
阅读全文