标题: [文本处理] 求BAT批处理字符串加密解密算法 [打印本页]
作者: xlmc768 时间: 2014-2-14 16:01 标题: 求BAT批处理字符串加密解密算法
需求如下:
现有的bat脚本内容还有明文app密码 比如以下这段
cd c:\daily_job_unload\sql
sqlplus user@admin/abc1234 @daily.sql
需要把明文密码改成密文,一个数据库放一个配置文件比如portal.txt 里面存放加密过的密码,在bat文件中读取这个文件中的加密字符串,并用解密程序解密后赋值到某个字符串变量,再带入sqlplus语句进行执行,
作者: Batcher 时间: 2014-2-14 19:32
不管怎么加密、解密,稍微懂点BAT的人就知道echo一下那个字符串变量就能看到明文密码了。
作者: terse 时间: 2014-2-16 01:42
回复 1# xlmc768
试试 debug
作者: xlmc768 时间: 2014-2-26 17:03
回复 2# Batcher
不会吧 ,文件里面存的密文,每次跑批之前拿着这段密文用解密程序解密,然后返回明文作为参数传入,执行sql批处理。我对bat不了解,理论上这样做可行吧
作者: xlmc768 时间: 2014-2-26 17:04
回复 3# terse
刚接触,不太明白你说的debug是指什么?谢谢回复
作者: DAIC 时间: 2014-2-26 17:45
解密之后返回明文作为参数传入给 sqlplus 命令去执行对吧
我只要 echo 一下你的 sqlplus 那行代码就能看到明文密码了。
作者: terse 时间: 2014-2-26 18:41
假设 portal.txt 是加密的文本- @echo off
- set "var=ed0 BE 00 01 BF 00 01 AC 34 33 AA E2 FA CD 20"
- Rem 单独加密解密执行 echo exit|cmd /kprompt %var% $_g=d0$_w$_q$_|debug portal.txt>nul
- for /L %%i in (0,1,1) do (
- echo exit|cmd /kprompt %var% $_g=d0$_w$_q$_|debug portal.txt>nul
- if %%i equ 0 set /pstr=<portal.txt
- )
- echo %str%
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |