问题标签 [vigenere]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Byte Vigenere Cipher,解密错误
我必须编写一个对完整字节进行操作的 Vigenere 加密/解密函数(通过 tcp 加密和发送文件,然后在另一端解密)。我的加密功能似乎正在工作(或多或少,如果没有解密功能就无法真正测试它)。
这是加密函数的代码:
然而,解密函数,即使以几乎相同的方式编写,也会导致错误。“试图除以零。”
解密函数代码:
错误点在 keyIndex = keyIndex % keylength; 但令我感到奇怪的是,第一个函数中的代码几乎相同,而且似乎没有造成任何麻烦。我正在接收的文件上对其进行测试,该文件在没有加密的情况下正确到达。有人可以帮我吗?
编辑:使用解密功能代码的方法/线程:
java - 在java中使用vigenere密码加密字节数组
我必须使用 vigenere 密码加密一些文件(jpg)。我写了一些代码,但加密和解密后我的文件已损坏。图像的前 1/4 显示正常,但其余部分已损坏。这是我的代码:
我做错什么了?
编辑:
读取和写入文件:
java - 在 Java 中解密 Vigenère 密码
我正在尝试使用 java 方法解密密码加密,但是我的代码似乎没有正确返回。我试图扭转加密过程,但我看不出我做错了什么。抱歉,我希望这不是一个愚蠢的问题。
c# - 使用 vigenere cipher 加密文档
我有兴趣了解不同的加密技术,并开始在 c# 中实现 vigenere 密码。我可以实现一个 Windows 窗体,它允许我加密和解密类似于以下链接的字符串。
https://stackoverflow.com/questions/13533269/c-sharp-vigenere-cipher-to-encrypt-an-text-file
我的问题是如何使用 vigenere 来加密 word 文档或图像文件而不是字符串?我已经创建了一个按钮,它打开一个对话框让我选择一个文件,我现在被困在如何加密所选文件上。有人有什么想法吗?
c# - The Vigenere algorithm in C# explanation
I came across this code:
Byte Vigenere Cipher, error with decryption
But trying to follow the rules I made a new question about it.
The following algorithm is used and I'm trying to get a better understanding into it:
Am I right in thinking the key needs to be trimmed as it is in Unicode? therefore subtracting 65 from a capital produces a common character/symbol?
c - 使用 C 中函数的返回值
我的目标是制作一个 Vigenere 密码。我试图通过从 argv 获取密钥,从用户获取字符串,然后通过我创建的一个函数传递消息和密钥,该函数将它们组合并在打印之前返回新值。出于某种原因,它只是在打印密钥。我认为这与新函数以及我如何尝试使用返回值有关。这是代码:
security - 破解修改后的 Vigenere 密码
我正在研究一种算法来破解修改后的 Vigenere Cipher。常规的 Vigenere 密码的工作方式如下:
普通版
修改版
注意修改后的版本如何使用以前的状态/字符来生成新的。我打破它的理论是将修改后的版本反转回常规的 Vigenere 密码。这样我可以应用一些频率分析和其他方法。我需要以某种方式重新排列该等式,以便在 LHS 上使用 C 具有“ previousC ”。由于 C 和 previousC 都是已知值,因此应该很容易进行反转(从第一个字符开始)。
我唯一的问题是,如何用 C 和 previousC 重写方程?如果有人能指出这一点,那将有很大帮助。
c - 如何在 Vigenere Cipher 中循环我的密钥
我正在为 Vigenere Cipher 编写一个程序。但我不知道如何让我的密钥重复直到我的纯文本结束。现在我的代码所做的只是加密与我的密钥的字母数量相等的字母。例如,我输入“dog”的密钥,我的纯文本是“catdog”,它给了我一个“fozdyw”的加密文本。这意味着它只加密前 3 个字母。
这是我的一些加密代码:
我究竟做错了什么?正确的做法应该是什么?
java - Java 中的 Vigenere/Polyalphabetic Cipher Decoder/Decrypter/Breaker
我正在尝试开发一个程序,对使用 Vigenere 密码编码的消息进行编码、解码和破解加密。我被卡住的地方是破坏消息(没有密钥)的[加密]。我知道如何去做,但我不知道如何编码。我的想法如下:
该程序将系统地生成潜在的密钥,长度从 1 开始到 26 结束。这些密钥将包含英文字母表中的字母并且不区分大小写。对于每个密钥长度(从 1 到 26 的任意位置),密钥将用字母“a”填充,然后程序将检查它们的密钥是否正确(我有另一种方法)。如果他们的键不正确,那么最后一个位置的字母将被旋转到字母表中的下一个字母。一旦最后一个字母经过所有 26 个可能的位置,倒数第二个字母将旋转,然后最后一个字母和倒数第二个字母将相应旋转,依此类推(一直回到第一个[potential] 键的字母)。每次生成新密钥时,正在使用单独的方法检查 [potential] 密钥,当找到正确的密钥时该方法停止。密钥创建进程将如下所示:
(希望你能看到那里的模式)
如果有人拥有或知道如何执行此操作的代码,或者可以帮助指导完成编写此代码所需的步骤,将不胜感激。
谢谢!
c++ - 自制的 Vigenere 密码;使用 acsii 字符操作
正如帖子标题所暗示的,我正在努力加强对 C++ 和字符操作的掌握,这一次是通过创建 Vigenere Cipher。对于那些不熟悉它的人来说,这是一种加密文本文件的相当简单的方法。
它的基本工作方式是存在一个字符串“key”,并且每个字符(至少在我的情况下)都是一个小写字母字符。这些存储在一个数组中,用于“移动”正在编码的文件的值。字符“a”会将目标移动 0,而“z”会将目标移动 25。“移位”是循环的,这意味着如果“z”移动“b”(1),它应该会导致'一种'。
我目前的方法如下:
我相信我的问题在于我的模运算。也许是因为我花了很多时间来解决这个问题,但我昨晚花了几个小时写这个,然后又躺在床上一个小时试图把我的想法包裹在如何有效地创造我想要的东西上:
问题在这里:如何使用 ACSII 做到这一点?('a'=97, z='121')