维吉尼亚加密
我一直有一个关于凯撒密码和维吉尼亚密码的项目。我已经想出了凯撒密码,但我正在努力使用维吉尼亚密码。 我的加密代码分为两部分:encrypt()和encrypt1()。 encrypt() 方法提取每个字符并将其传递给 encrypt1(),基本上所有加密都在此处进行。我在这里做了代码,但它没有给我任何好的结果。 例如,如果new VigenereCipher("SLIME").encryp... »
我一直有一个关于凯撒密码和维吉尼亚密码的项目。我已经想出了凯撒密码,但我正在努力使用维吉尼亚密码。 我的加密代码分为两部分:encrypt()和encrypt1()。 encrypt() 方法提取每个字符并将其传递给 encrypt1(),基本上所有加密都在此处进行。我在这里做了代码,但它没有给我任何好的结果。 例如,如果new VigenereCipher("SLIME").encryp... »
我的 Vigenere 密码非常适合加密,但我只需要解决这个问题以进行解密,在运行程序后,我被告知字符串索引超出范围。有人可以让我知道我需要将其更改为什么,如果可以的话,我将不胜感激。 编辑:我已经更改了导致字符串索引问题的代码部分,但现在,在处理解密时,输出是一个空白行,其下方为“无”且没有错误。 编辑:ord(_key_text[letters%len(_key_text)]) 我需要在... »
我正在编写一个程序,它在命令提示符处接受一个字符串,然后将字符串的每个字符转换为相应的字母表中的 0-25 位。然后,每个数字用于加密用户在程序提示后输入的另一个字符串的每个字符。第二个字符串的每个字母字符应与整数字符串的顺序匹配,如果第二个字符串较长,整数字符串将换行。该程序的目标是使用第一个字符串作为键来移动消息的每个字符(第二个字符串)。 示例(期望的输出): 用户运行程序并输入关键字:... »
我已经尝试实现 Vigenere 的 Cypher。我发现它与大写字母一起使用,但我已经使它适用于大写和小写字母,但是纯文本或加密文本的字符必须与密钥中的相应字符相同。所以我这样做了: std::string encryptUpper(std::string const& plain, std::string const& key){ std::string cyphere... »
这是我的代码,我想用键“div”输入字符串“adiva fiqri” 但我希望键是“divdi vdivd”(空格看起来像字符串输入)但我的新键跟随字符串(包括空格)“divdivdivdi” #include<stdio.h> #include<string.h> #include<ctype.h> #include<stdlib.h> void... »
首先我得到了执行以下操作的代码: 键:ab 明文:测试我 密文:Tfsu ne 我当然想让我的密钥跳过空格 (Tfsu mf),所以我尝试为我的密钥添加一个额外的计数器 (m-counter),以确保它不会在每次迭代后递增纯文本。然而,结果是,现在我得到了: 键:ab 明文:测试我 密文:Uftu nf 所以现在它就像我的钥匙是 bb。 有人能解释一下为什么第二个循环会导致输出发生这种变... »
我使用 Vigenére 密码制作了一个基于菜单的加密工具。截至目前该程序加密空格,我怎样才能让程序跳过空格。 #creating variables to be used text_in_use = '' encrypt_key = '' decrypt_key = '' #function to encypypt input text def encrypt(plaintext, key)... »
我无法弄清楚如何检查关键字 (argv[1]) 中的每个字符。我知道我可能遗漏了一些非常明显的东西。 :( 我尝试将字符串保存到一个数组,声明一个新的 int,但还是同样的问题。 //check to make sure 2nd argument is fully alphabetic string keyword = argv[1]; for(int i = 0, n = strlen(k... »
我正在尝试编写 Vigenere 密码。我正在构建一个二维列表 [[a,b,c,d], [b,c,d,a], [c,d,a,b], [d,a,b,c]] 除了我从前面切片并移动到后面的部分以[ ] 括号结束外,我可以正常工作。例如。 [[a,b,c,d], [b,c,d,[a]], [c,d,[a,b]], [d,[a,b,c]] 我的代码: 维吉尼密码 alphabet = ['a','b'... »
我正在用 JavaScript 编写自己的 Vigenere Cipher。我很喜欢。无论如何,加密和解密是相同的,除了decrypt() 是'-' keyStr 而不是'+' 朝向底部。加密工作完美。但是,由于某种原因,在解密时,一些字符随机出现未定义。我知道该算法适用于 C++、Python、Java 和 Swift。这里有什么错误? 我尝试在字母数组中打印 char 索引,但在 decry... »
我已经为 cs50 中的 Vigenere 问题编写了这段代码。 但是,当我打印使用 58 和 90 而不是 65 和 97 的加密字母时,它并没有按预期工作。(A 和 a 的 ASCII 值) 这样做会给我想要的结果,但我不明白为什么会这样。减去“a”或“A”时,它给了我错误的加密文本,这对我来说没有任何意义。 我查找了一些不同的解决方案,它们都用 'a' 或 'A' 减去以获得字母索引,但... »
为什么这会在 arrayLetter 中输出垃圾而不是 char 值? 当我将for循环打印在方法调用上方的arrayLetter时,它起作用了;当我把它放在它下面时,它不起作用。我没有在方法或主体中更改 arrayLetter。这是一个简单的程序,可以移动索引并输出移动的字母。 #include <stdio.h> #include <stdlib.h> int* g... »
我一直在努力在 python 中创建 vigenere 表 结果应该是这样的: 所以基本上我的第一行有整个字母表,第二行的字母表移动了一个字母,等等。 到目前为止,这是我的代码: class CypherTable: def __init__(self): self.matrix = [[chr(i) for i in range(ord('a'),ord('z... »
我正在使用以前编写的凯撒密码并将其添加到维吉尼亚密码中。我收到一个 NameError 代码,但不知道如何解决它 def alphabet_position(letter): alphabet_pos = {'A':0, 'a':0, 'B':1, 'b':1, 'C':2, 'c':2, 'D':3, 'd':3, 'E':4, 'e':4, '... »
我已经制作了加密和解密 Vigenere 密码的程序,但我有几个问题。 这是一个:句子的第一个字母加密不正确。 第二个:句后我有信K。我认为这是因为空间问题,但我不知道如何解决。 第三个问题:我知道很久以前使用 Vigenere 的密码时,加密句子中没有空格,没有空格,但如果可能的话,我希望有 5 个字母为一组。 这是我的代码: #include <stdio.h> #incl... »
我已经为此花费了几个小时,但我仍然陷入困境。当我进行检查时,我得到以下输出。这些错误与我打印出来的方式有关吗? :) vigenere.c 存在 :) vigenere.c 编译 :( 使用“a”作为关键字将“a”加密为“a” \ 预期输出,但不是“密文:a\u0004ù\u001bÿ\n” :) 使用“baz”作为关键字将“barfoo”加密为“caqgon” :) 使用“BaZ”作为关键... »
我已经在 python 中的密码程序上工作了一段时间,用于在线课程。我一直在成功和挫折之间来回走动,最近我以为我已经弄明白了。也就是说,直到我将我得到的输出与课程所说的我实际应该得到的输出进行比较。当我输入“乌鸦在午夜飞!”和“boom”键,我应该回来“Uvs osck rwse bh auebwsih!”但取而代之的是“Tvs dfci tzufg mu auebwsih!”我对我的程序正在做什... »
我正在尝试在 C 中实现 Vigenere 的密码,但问题是当我尝试重复它所在的数组中使用的密钥时,它会在第 4 个字母之后中断。因此,如果密钥是 ABC,明文是 HELLO,则返回 HFNLO 而不是 HFNLP。当我查看我的代码时,它在逻辑上是有道理的,但它似乎只是不起作用。有人能看出问题吗? 代码如下: int main(int argc, string argv[]) { if... »
我目前正在使用 C 语言在 CS50 中研究 Vigenere 密码。要求是制作一个程序,该程序根据关键字(用户输入两者)对一些明文进行加密。它将基于 Vigenere 密码进行加密。我发现很难用语言描述 Vigenere 密码是什么,所以这里是 CS50 规范中的一个示例: 如果 Vigenère 自己想秘密地向某人说 HELLO,使用 ABC 等关键字,他会用 0 的密钥(即 A)加密 H,... »
在观看了this tutorial 关于 Vigenere Cipher 的内容后,我(希望)了解了它的基本概念。我们想为一个字符串分配一个键,然后将字符串中的每个字母移动键中每个字母的(从 0 开始的)字母位置值。所以当用培根做key的时候, Meet me in the park at eleven am baco nb ac onb acon ba conbac on 变成 Negh... »