<p>我有一个在本地运行的python脚本,它有另一个嵌入在操作系统打电话。我混淆了我的密码,把它存储在一个只有我有权访问的数据库中,然后使用windows auth连接到数据库(因为脚本需要自动化,我不能有密码提示)。在</p>
<p>上面说的,我突然想到,难道就不能有人修改我的脚本并打印'pw'变量来获得我的密码吗?我在一个共享云环境中工作,在那里其他开发人员可以访问我的脚本。有没有什么方法可以进一步抽象它,这样别人就不能修改我的脚本并得到pw?在</p>
<pre><code>import os
import sqlalchemy as sa
import urllib
import pandas as pd
#Specify the databases and servers used for reading and writing data.
read_server = '~~SERVER_HERE~~'
read_database = '~~DATABASE_HERE~~'
#Establish DB Connection
read_params = urllib.quote_plus("DRIVER={SQL Server};SERVER="+read_server+";DATABASE="+read_database+";TRUSTED_CONNECTION=Yes")
read_engine = sa.create_engine("mssql+pyodbc:///?odbc_connect=%s" % read_params)
#Read PW from DB and set to variable
pw_query = """ SELECT DISTINCT PW FROM ~~TABLENAME_HERE~~ """
pw = pd.read_sql_query(pw_query,con=read_engine,index_col=None)
pw = pw.values.tolist()
pw = str(pw[0])
pw = pw.lstrip("['").rstrip("]'")
#Establish connection to server
os.chdir(r"C:\tabcmd\Command Line Utility")
os.system(r'tabcmd login -s https://~~myURL~~ -u tabadmin -p {mypw}'.format(mypw = str(pw)))
#Make sure you update the below workbook, site names, and destination directory.
os.system(r'tabcmd get "~~FILE_Location~~" -f "~~Destination_DIR~~"')
</code></pre>
<p>我使用的是标准python(Cpython)和mssqlserver。在</p>