[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理用维热纳尔方阵给文本加密

如下,维热纳尔方阵,请发现每行变化的规律。
  1.        A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  2.        a b c d e f g h i j k l m n o p q r s t u v w x y z
  3. -----------------------------------------------------------
  4. 1      B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
  5. 2      C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
  6. 3      D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
  7. 4      E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
  8. 5      F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
  9. 6      G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
  10. 7      H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
  11. 8      I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
  12. 9      J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
  13. 10     K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
  14. 11     L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
  15. 12     M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
  16. 13     N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
  17. 14     O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
  18. 15     P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
  19. 16     Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
  20. 17     R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
  21. 18     S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
  22. 19     T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
  23. 20     U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
  24. 21     V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
  25. 22     W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
  26. 23     X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
  27. 24     Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
  28. 25     Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
  29. 26     A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
复制代码
加密实例:
用forset来加密better to do well than to say well

密 匙 F O R E S T F O R E S T F O R E S T F O R E S T F O R  
明 文 b e t t e r t o d o w e l l t h a n t o s a y w e l l  
密 文 G S K X W K Y C U S O X Q Z K L S G Y C J E Q P J Z C  
(看第5行,F开头,明文是b,要用G来加密;第14行,O开头,明文是e,要用S来  
加密,如此类推......)

以下。
密匙:trust
明文:believe
密文:U V F A X O V

密匙: false
明文: believe
密文: G E W A I A E

密匙:batch
明文:bbsbathome
密文:C B L D H U H H O L


要求:
一,输入任意密匙和明文,用维热纳尔方阵加密,输出正确结果。
二,如能正确解答出要求一,写出相应的解密程序,只是一个逆推理。

[ 本帖最后由 pusofalse 于 2009-5-1 20:53 编辑 ]
1

评分人数

    • wxcute: 楼主这个主题就很好,我来加分PB + 10
心绪平和,眼藏静谧。

batman兄的代码没有密匙,密文只是通过右移一位而来的。 另外有一处错误,是导致每次都右移一位的根本所在。
for %%i in (codes) do (
      set /a n+=1
      if /i "%%i" equ "%1" goto next
)

维热纳尔方阵加密出的密文非常牢固,要解开,必须要有双方协定好的密匙(可以是个有意义的英文单词)。
可能是我说的太模糊了,已修正。

[ 本帖最后由 pusofalse 于 2008-7-30 02:38 编辑 ]
心绪平和,眼藏静谧。

TOP

我出这道题的初衷是希望写出代码之后可以作为一个实用的加密文本的工具,然后再由自己写解密工具,这是挺好的一件事情。
维热纳尔的加密意义不仅在于加密一个单词或一句英文,而是即使加密很长的一段文章也不会被频率破解。

既然是这样,那batman兄的代码也是不通用了,因为一个文本内容的长度问题。。。而密匙的长度就只有那几位,乘以10也不能保证多于明文的长度。

当然如果作为一个工具来讲,要想加密正确,要保证明文中只有字母,空格也不得包括。
心绪平和,眼藏静谧。

TOP

set "pss=%pss:~1%%a2%"
高!
心绪平和,眼藏静谧。

TOP

回复 10楼 的帖子

测试如下
  1. 1、加密  2、解密
  2. 1
  3. 请输入明文 :bbsbathome
  4. 请输入密钥 :batch
  5. dcmeiviipm
复制代码
而正确结果应该是
  1. 请输入密匙:batch
  2. 加密明文:bbsbathome
  3. C B L D H U H H O L
复制代码
心绪平和,眼藏静谧。

TOP

如果从右向左,那就不是维热纳尔了。
你的结果可以理解为在用维热纳尔加密之后再向右移一位。
与凯撒移位相结合,虽然又牢固了一些,但看题目,只使用维热纳尔方针加密而已。
心绪平和,眼藏静谧。

TOP

返回列表