我很惊讶这个问题没有得到深入讨论:
本文告诉我们如何使用windbg在内存中转储正在运行的.Net进程字符串.
我花了很多时间研究SecureString类,它使用非托管固定内存块,并保持数据加密.好东西.
当您使用其值并将其分配给SQLConnection.ConnectionString属性(属于System.String类型)时,会出现此问题.这是什么意思?好...
这完全否定了SecureString功能!
最重要的是,SQLConnection类是无法使用的,我甚至无法使用SecureString属性自行滚动; 耶和闭源.好极了.
新的DAL层正在进行中,但是对于新的主要版本以及对于这么多用户而言,每个用户升级之前至少需要2年,其他人可能会无限期地保留旧版本.
由于使用连接的频率,从SecureString编组将无济于事,因为不可变的旧副本会粘在内存中,直到GC出现.集成的Windows安全性不是一种选择,因为一些客户端不在域上工作,而其他客户端通过网络漫游和连接.
如何在内存中保护连接字符串,以便使用windbg无法查看?
我在 Python 中使用 PIL 和 Image 模式。我想用这个代码创建一个图像:
imagesize = (12,12)
image = Image.new("RGB",imagesize,color=None)
Run Code Online (Sandbox Code Playgroud)
我将使用此函数在我的图像上放置像素:
.putpixel(xy, color)
Run Code Online (Sandbox Code Playgroud)
颜色在元组列表中。举个例子:
RGB = [((255, 255, 255),(207, 103, 36),(204, 93, 21),(204, 93, 21),(204, 93, 21), (.......some more RGB tuples.....)]
Run Code Online (Sandbox Code Playgroud)
我需要一个在 .putpixel(xy, color) 中的循环:
颜色每次递增一级。例如RGB[0],下一个循环RGB[1]等等。当这个循环被制作时,x 和 y 对我来说更困难。x 从 1 到 12(图像大小),而 y 为 0,然后,当 x 达到 imagesize 时,它返回到 1 到 12,但 y 现在为 1。当 x 和两者都达到图像大小的末尾时,循环结束。
谁能帮我?我是 Python 新手。
问候,
法沃拉斯
编辑
P:S - 忘了说,因为这是一个学校项目,我不能使用除了 img.new、img.show 和 img.outpixel 之外的任何方法
我是第一次使用StackOverflow的程序员,从Allen Downey的免费在线文本"Think Python"中学习.
此处显示的代码来自练习14.5(第143页).我一直想弄清楚那是.fp做什么的; 我的搜索都空了.我使用和不使用代码运行代码,并没有注意到结果的任何差异.我很感激任何人的帮助.
import urllib
conn = urllib.urlopen('http://thinkpython.com/secret.html')
for line in conn.fp:
print line.strip()
Run Code Online (Sandbox Code Playgroud)