- @echo off&setlocal enabledelayedexpansion
- set sati=!time!
- set Ban=0
- for /f "tokens=* delims=*" %%a in (homebook.txt) do (
- set str=%%a
- if "!str:~-1!" equ "版" (set /a Ban+=1) else (
- for /f "tokens=1,2,*" %%b in ("!ban! !str:-=!") do (set Ban%%b=!Ban%%b!%%d@)
- )
- )
- ::前面读取母本到变量
-
- for /f "tokens=*" %%a in (密文.txt) do (
- set 原文=
- for %%b in (%%a) do (
- for /f "tokens=1-4 delims=-" %%1 in ("%%b") do (
- set/a hang=%%2-1
- call :sub 原字 %%1 !hang! %%3 %%4
- set 原文=!原文!!原字!
- )
- )
- echo;!原文!
- )
- ::解密
- echo;!sati!
- echo;!time!
- set sati=!time!
-
-
- for /f "tokens=*" %%a in (原文.txt) do (
- set sour=%%a
-
- set/a z=8180,x=0,y=0
- for /l %%a in (1,1,14) do (set/a "y=(z-x)/2+x"
- for %%b in (!y!) do if "!sour:~%%b,1!" equ "" (set/a z=y) else (set/a x=y)
- )
-
- set 密文=
- echo !sour! [!x!]
- for /l %%b in (0,1,!x!) do (call :sub2 !sour:~%%b,1!)
- echo;!密文!
- )
- ::加密
- echo;!sati!
- echo;!time!
- pause
-
- goto :eof
-
- :sub
- for /f "tokens=1-10 delims=@" %%0 in ("!Ban%2!") do (
- for /f "tokens=1-5" %%1 in ("%%%3") do (
- set "str=@%%%4"
- set %1=!str:~%5,1!
- )
- )
- goto :eof
-
- :sub2
- (
- for /l %%a in (1,1,!ban!) do (
- if "!Ban%%a:%1=!" neq "!Ban%%a!" set str=!Ban%%a!&set zban=%%a
- )
- for /f "delims=%1" %%a in ("!str!") do (set str=%%a)
-
- set/a z=8180,x=0,y=0
- for /l %%a in (1,1,14) do (set/a "y=(z-x)/2+x"
- for %%b in (!y!) do if "!str:~%%b,1!" equ "" (set/a z=y) else (set/a x=y)
- )
-
- set/a zhang=x/26+1,x=x%%26,zlie=x/5+1,zzhi=x%%5+1
- set 密文=!密文! !zban!-!zhang!-!zlie!-!zzhi!
- goto :eof)
复制代码
[ 本帖最后由 netbenton 于 2009-11-23 23:43 编辑 ] |