维吉尼亚密码编码器
维吉尼亚密码由乔万·巴蒂斯塔·贝拉索于1553年首次描述,后来被错误地归功于布莱兹·德·维吉尼亚。它根据一个不断重复的密钥,将每个字母移动不同的量。尽管300年间它一直被称为“无法破译的密码”(le chiffre indéchiffrable),但最终在1863年被弗里德里希·卡西斯基的统计攻击攻破。这款编码器让你为解谜、CTF挑战和课堂密码学教学进行加密和解密。
如何使用维吉尼亚密码
-
1
输入你的消息
A 到 Z 的字母会被移位;数字、空格、标点以及任何非拉丁字符都原样通过。
-
2
设置密钥
选择任意单词或短语。只有其中的字母起作用,密钥越长越难破解。
-
3
选择加密或解密
同一个工具用维吉尼亚方阵处理两个方向。
-
4
读取结果
每个字母按对应的密钥字母移位(A=0,B=1 等);大小写会被保留。
一个完整示例
工具以 Hello World 和密钥 KEY 开始。加密得到:
Text: Hello World
Key: KEYKE YKEYK
Out: Rijvs Uyvjn
注意大小写被保留(H 仍是大写,变成 R),空格保持不变,密钥指针只在字母上前进。用同一密钥切换到解密,Rijvs Uyvjn 就会变回 Hello World。
维吉尼亚方阵
文本的每个字母和密钥的每个字母,在 26x26 的凯撒移位网格中选定一行一列。如果文本字母是 H,密钥字母是 K,输出就是 R,因为 H (7) + K (10) = 17 = R。经典教科书示例使用一个重复的密钥:
Text: ATTACKATDAWN
Key: LEMONLEMONLE
Out: LXFOPVEFRNHR
为什么它胜过更早的密码
像凯撒和阿特巴什这样的单表密码总是以相同方式编码 E,所以密文中最常见的字母会暴露明文中最常见的字母。维吉尼亚会轮换移位量,所以 E 这次可能变成 X,下次变成 K,从而抹平字母频率,挫败简单的分析。
一段话讲清卡西斯基攻击
密文中以固定间隔重复出现的字母组,暗示密钥长度能整除该间隔。收集几个这样的间隔,取它们的最大公约数,就得到可能的密钥长度。把密文拆成相应数量的凯撒流,再对每一条做频率分析。
安全提示
维吉尼亚是一种只有教学价值的经典密码。它无法抵御任何现代攻击:用六个字母的密钥,一段简短的英文文本几秒钟就能破解。若需真正的机密性,请使用经过验证的库中的 AES-GCM 或 ChaCha20-Poly1305,绝不要用手工密码。
常见问题
只有 26 个拉丁字母 A-Z 会被移位。汉字、数字、标点以及其他非拉丁字符都会原样复制。要加密,请用拉丁字母输入。
支持。小写文本生成小写输出,大写保持大写。密钥本身不区分大小写。
当然可以。它是入门 CTF 的常客。提示通常在题目描述里给出密钥长度,或在密文中留下一组重复的字母。
你的文本和密钥会发送到我们的服务器来计算密码,在那里被处理,不会被保存或记录。由于维吉尼亚并不安全,切勿用任何经典密码加密真正的机密。
相关工具
数字转字母密码
使用 A=1、B=2 密码(A1Z26)在数字和字母之间互相转换,适用于谜题、谜语和密室逃脱线索。
HMAC 生成器
根据消息和密钥生成 HMAC 签名(SHA-256、SHA-384、SHA-512、SHA-1或MD5),用于API认证和Webhook验证。
JWT 生成器
生成带有自定义头部、有效载荷声明、HMAC 或 RSA 签名方式、有效期及受众限制的已签名 JWT,用于测试。
Base64 文件编码器
将任意文件(PDF、ZIP、图片、可执行文件)编码为 Base64 文本,用于嵌入 JSON、邮件、YAML 或 data URI。在浏览器本地运行,无需上传。
MD5生成器
从任意文本或文件生成 MD5 哈希值。输出结果为 128 位十六进制值,完全在您的浏览器中计算完成。
密码类型识别器
粘贴密文,识别器会给出可能的编码/密码方案:Base64、hex、二进制、摩斯、凯撒或替换、JWT 及常见哈希。
此工具还提供其他语言版本
- Codificador de cifrado Vigenère [ES]
- Koder szyfru Vigenère [PL]
- เครื่องมือเข้ารหัส Vigenère [TH]
- ヴィジュネル暗号エンコーダー [JA]
- Bộ mã hóa Vigenère [VI]
- Codificador da cifra de Vigenère [PT]
- Vigenère-chifferkodare [SV]
- Encodeur de chiffre de Vigenère [FR]
- 비즈네르 암호 인코더 [KO]
- مشفّر فيجينير [AR]
- Vigenère-Verschlüsselungs-Encoder [DE]
- Penyandi Sandi Vigenère [ID]
- Vigenère-cijfercodeerder [NL]
- Vigenere Cipher Encoder [EN]
- Codificatore del cifrario di Vigenère [IT]
- Кодировщик шифра Виженера [RU]
- Vigenère Şifre Kodlayıcı [TR]