在审计的时候遇到某个加密函数,看的我头晕眼花的,完全看不明白加密过程,但是我又需要写加密解密工具…
遇到这种情况就需要用到 python 的 subprocess 库了,他可以完美的调用 php 代码:
php代码:
python代码:
import subprocess #执行CMD命令 def run_cmd(cmd): p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) stdout, stderr = p.communicate() if stdout: stdout = stdout.rstrip() if stderr: stderr = stderr.rstrip() return (stdout, stderr, p.returncode) #加密解密函数 def encrypt(string,operation): a,b,c = run_cmd('php D:/Desktop/Python/systemlogined-php函数.php ' + string + " " + operation) return (a.decode('utf-8')) print(encrypt('160794','E'))
需要本地安装了 PHP 环境,并且设置了环境变量,如果没设置的话就需要在 run_cmd(‘php) 的前面添加php绝对路径