找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 39051|回复: 6

[文本处理] 求BAT批处理字符串加密解密算法

[复制链接]
发表于 2014-2-14 16:01:20 | 显示全部楼层 |阅读模式
需求如下:
现有的bat脚本内容还有明文app密码 比如以下这段
cd c:\daily_job_unload\sql
sqlplus user@admin/abc1234 @daily.sql

需要把明文密码改成密文,一个数据库放一个配置文件比如portal.txt 里面存放加密过的密码,在bat文件中读取这个文件中的加密字符串,并用解密程序解密后赋值到某个字符串变量,再带入sqlplus语句进行执行,
发表于 2014-2-14 19:32:45 | 显示全部楼层
不管怎么加密、解密,稍微懂点BAT的人就知道echo一下那个字符串变量就能看到明文密码了。
发表于 2014-2-16 01:42:16 | 显示全部楼层
回复 1# xlmc768
试试 debug
 楼主| 发表于 2014-2-26 17:03:06 | 显示全部楼层
回复 2# Batcher


    不会吧 ,文件里面存的密文,每次跑批之前拿着这段密文用解密程序解密,然后返回明文作为参数传入,执行sql批处理。我对bat不了解,理论上这样做可行吧
 楼主| 发表于 2014-2-26 17:04:48 | 显示全部楼层
回复 3# terse


    刚接触,不太明白你说的debug是指什么?谢谢回复
发表于 2014-2-26 17:45:16 | 显示全部楼层
解密之后返回明文作为参数传入给 sqlplus 命令去执行对吧
我只要 echo 一下你的 sqlplus 那行代码就能看到明文密码了。
发表于 2014-2-26 18:41:09 | 显示全部楼层
假设 portal.txt 是加密的文本

  1. @echo off
  2. set "var=ed0 BE 00 01 BF 00 01 AC 34 33 AA E2 FA CD 20"
  3. Rem 单独加密解密执行 echo exit|cmd /kprompt %var% $_g=d0$_w$_q$_|debug portal.txt>nul
  4. for /L %%i in (0,1,1) do (
  5.     echo exit|cmd /kprompt %var% $_g=d0$_w$_q$_|debug portal.txt>nul
  6.     if %%i equ 0 set /pstr=<portal.txt
  7. )
  8. echo %str%
  9. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 05:29 , Processed in 0.017130 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表