[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
方法:把26位字母与1-26相应的数字对应起来,密文即为明文字母对应的数字与密钥字母对应的数字相加-1所对应的字母。
  1. @echo off&setlocal enabledelayedexpansion
  2. set "code=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. for %%i in (%code%) do (
  4.     set /a num+=1
  5.     set t!num!=%%i
  6.     set p%%i=!num!
  7. )
  8. :begin
  9. set /p text=请输入明文:&set /p key=请输入密钥:&set /p=密文:<nul
  10. :loop
  11. set "_text=%text:~,1%"&set "_key=%key:~,1%"
  12. set "text=%text:~1%"&set "key=%key:~1%%_key%"
  13. set /a n=!p%_text%!+!p%_key%!
  14. set /a n=!n!%%26-1
  15. set /p=!t%n%! <nul
  16. if defined text goto loop
  17. echo.&echo.&goto begin
复制代码
set "key=%key:~1%%_key%"一句借鉴了batman的,感觉好多种方法这种最简洁。
  1. 哦,好像和上楼的思想一样啊,不好意思啊,发表以后才仔细看。把标头去了!
复制代码

[ 本帖最后由 lhjoanna 于 2008-11-19 01:24 编辑 ]
1

评分人数

TOP

返回列表