众所周知,单向加密是加密数据库中用户密码的便捷方式.这样,即使数据库管理员也无法知道用户的密码,但必须输入密码,使用相同的算法对其进行加密,然后将结果与数据库中的加密密码进行比较.这意味着确定密码的过程需要大量的猜测和大量的处理能力.
看到计算机变得越来越快,数学家们仍然在开发这些算法,我想知道考虑到现代计算能力和加密技术哪一个是最安全的.
我几乎已经使用MD5几年了,我想知道是否还有更多我应该做的事情.我应该考虑不同的算法吗?
另一个相关问题:字段通常需要多长时间才能使用这样的加密密码?我必须承认我几乎一无所知加密,但我假设MD5哈希(作为一个例子)可能更长,并且可能需要更多的处理能力才能破解.或者字段的长度根本不重要,只要加密密码首先适合它?
这是我想要实现的一个例子.期望的效果是,当且仅当定义了其相关设置时,特定特征才应生效.否则,应禁用该功能.
settings.py:
SOME_VARIABLE = 'some-string'
ANOTHER_VARIABLE = 'another-string'Run Code Online (Sandbox Code Playgroud)
random_code_file.py:
from django.conf import settings
if settings.is_defined('ANOTHER_VARIABLE'): # <- I need this.
do_something(settings.ANOTHER_VARIABLE)
else:
do_something_completely_different()
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我错过了我应该做的任何事情而不是settings.is_defined.
如果这是解决问题的错误方法,我也很乐意听到其他方法.所需效果是自动激活功能,仅在存在相关设置时才会生效.我宁愿避免一些特殊settings.ACTIVE_FEATURES设置或特殊值,如空白字符串或无,以评估功能是否生效.
我想做的最后一件事是使用try/except.我宁愿选择一个空值来表示该功能被排除在外. - 但是如果尝试/除了它确实是首选方法,如果提供详尽的来源或解释,我会将答案标记为正确.事实上,这是任何答案.
简而言之,我需要以正确的方式检查Django中是否定义了设置变量.
提前致谢!
我需要删除SQL Server中的触发器.看起来它应该很简单,但是因为有一个叫做"删除触发器"的东西,一个在删除时调用的触发器,似乎无法找到有关如何实际删除已存在的触发器的资源.
编辑:据我所知,这个问题没有解决办法,这再次证明了一个人不应该使用C#的WebBrowser.我们在程序开始时发出警告标志,通知用户将清除IE的cookie.
我想要做的简短版本是标题.这是长版本.
我有一个复杂的问题,我相信我会收到很多猜测作为回应.为了将预期但不幸的无用猜测保持在最低限度,让我首先提一下这个问题的解决方案并不简单,所以简单的建议遗憾的是根本没有帮助,即使我很感激努力.
.NET WebBrowser组件基本上是IE本身,因此具有任何类型警告的解决方案几乎肯定不会起作用.我需要做的正是我正在做的事情,即使是一个看似微不足道的警告也会彻底打败这个目的.在探空傲慢的风险,我需要从别人谁真的有深入了解有关.NET web浏览器和/或WinInet的和/或如何使用Windows的底层系统从C#沟通...或如何封装C++代码帮助C#.
也就是说,我不希望有人为我这样做,我发现了一些有希望的提示,这些提示将在本期后面解释.
但首先......我想要实现的是这个.
我有一个Windows.Forms组件,其中包含一个WebBrowser控件.此控件需要:
现在,这是真正的问题.我需要清除所有这些cookie(对于任何和所有站点),但仅限于WebBrowser控件本身而不是IE正确使用的cookie.这种方法的根本原因当然是.NET WebBrowser控件是 IE.但我是一个固执的年轻人,我坚持认为这是可能的,否则!;)
这就是我现在被困住的地方.
仅通过C#以编程方式清除WebBrowser控件的所有cookie是完全不可能的.必须使用DllImport和它附带的所有疯狂的东西.这个块可以用于此目的:
[DllImport("wininet.dll", SetLastError = true)]
private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength); Run Code Online (Sandbox Code Playgroud)
然后,在实际清除cookie的功能中:
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_END_BROWSER_SESSION, IntPtr.Zero, 0);
Run Code Online (Sandbox Code Playgroud)
然后所有的cookie都被清除了,因此,我很高兴.该程序完全按照预期工作,除了它还清除IE的cookie,这是不允许发生的.
来自StackOverflower的一位同事(如果只是一句话),盛江在评论中提出了一个不同的问题,但没有进一步阐述:
"如果要隔离应用程序的cookie,则需要通过IDocHostUIHandler2 :: GetOverrideKeyPath覆盖Cache目录注册表设置"
我在互联网上浏览了IDocHostUIHandler2和GetOverrideKeyPath,但我不知道如何在C#中使用它们来将cookie与我的WebBrowser控件隔离开来.我对Windows注册表的体验仅限于RegEdit(所以我理解它是一个具有不同数据类型的树结构,但就此而言......例如,我没有深入了解注册表与IE的关系).
这是我在MSDN上挖掘的内容:
IDocHostUIHandler2 docs:http: //msdn.microsoft.com/en-us/library/aa753275%28VS.85%29.aspx
GetOverrideKeyPath docs:http: //msdn.microsoft.com/en-us/library/aa753274%28VS.85%29.aspx
我想我大致知道这些事情的作用,我只是不知道如何使用它们.
我正在使用Firebug来查看JavaScript错误.但我也在使用jQuery.出于某种原因,我在使用jQuery时从未看到JavaScript错误,这是首先使用jQuery的最大问题之一.
有没有特定的代码显示,试想alert(areareg);在那里areareg未定义或任何形式的JavaScript错误的,而萤火虫不会告诉我这件事.JavaScript将在没有任何警告或通知的情况下失败.在我使用jQuery的任何项目中总是如此,这是我不喜欢jQuery的唯一原因; 因为当出现问题时调试是非常困难的.
出于某种原因,我甚至无法在网上找到这个问题,更不用说回答了.但我想我会在这里尝试一下:
编辑:我使用Firefox(与Firebug)和Chrome,我只使用非缩小版本的jQuery.尽管如此,在使用jQuery时,我一生中从未见过任何类型的jQuery错误消息,既无用也无用,实际上也没有正常的JavaScript错误.
为了完美,这里或多或少是一个.
Microsoft SQL Server仅包含datetime用于存储日期和时间的字段类型.
但是,让我们说我想存储一个营业时间列表,其中日期完全无关紧要.目前我正在使用该datetime类型,然后只显示数据的时间部分.但我有两个问题.
所以它引出了一个问题; 在没有特定time字段的情况下(如在MySQL中),从00:00到23:59只存储一天中特定时间的最佳方式是什么?
更新:它是SQL Server 2005.(另外,我只是想知道在没有time类型的情况下通常要做什么.)
我正在尝试创建一个 WebSocket 命令行客户端,它等待来自 WebSocket 服务器的消息但同时等待用户输入。
每秒定期轮询多个在线资源在服务器上运行良好,(localhost:6789在本示例中运行的那个),但sleep()它使用而不是使用 Python 的正常方法asyncio.sleep(),这是有道理的,因为睡眠和异步睡眠不是一回事,在至少不是在引擎盖下。
同样,等待用户输入和异步等待用户输入不是一回事,但我无法弄清楚如何以异步等待任意秒数的方式异步等待用户输入,所以客户端可以处理来自 WebSocket 服务器的传入消息,同时等待用户输入。
希望的else-clause下面的评论monitor_cmd()解释了我的意思:
import asyncio
import json
import websockets
async def monitor_ws():
uri = 'ws://localhost:6789'
async with websockets.connect(uri) as websocket:
async for message in websocket:
print(json.dumps(json.loads(message), indent=2, sort_keys=True))
async def monitor_cmd():
while True:
sleep_instead = False
if sleep_instead:
await asyncio.sleep(1)
print('Sleeping works fine.')
else:
# Seems like I need the equivalent of:
# line = await asyncio.input('Is this your line? ') …Run Code Online (Sandbox Code Playgroud) 我正在使用ColdFusion与Microsoft SQL Server 2005,有时我收到此错误:
"[Macromedia] [SQLServer JDBC Driver]对象已关闭."
回溯总会导致一个人们期望的SQL查询,即使是没有JOIN或输入参数的简单SELECT命令或者任何花哨的东西.
到目前为止,我听到的唯一解决方案是重新启动"服务",我只能想象它是指SQL Server服务.我已经尝试重新启动SQL Server和ColdFusion服务,但它仍然会随机发生.
(同样重新启动也不是解决方案.在生产环境中,任意页面都不能随意提供任意错误消息.)
当它发生时,它会持续发生几分钟,然后消失并可能在几秒钟或几分钟内恢复.当我开发应用程序的JavaScript部分时,它开始发生,它应该与ColdFusion代码或SQL命令无关.
到目前为止,我的在线搜索一直没有结果.
任何帮助赞赏.
我有一个MS Access数据库(无法忍受),并通过PHP(ODBC)与它通信.
我必须在INSERT语句中包含一个DateTime字段.此字段在Access中未定义为"必需",这意味着它确实可以为NULL,并且实际上Access数据库中的某些行已经为NULL.
我遇到的问题很简单:如何通过SQL插入NULL?我在网上找到的所有结果都是从Visual Basic或C#中解决的,而我在PHP中通过ODBC使用SQL.
我已经尝试过以下方法:
INSERT INTO table_name (datetime_field) VALUES (NULL)
INSERT INTO table_name (datetime_field) VALUES (#NULL#)
INSERT INTO table_name (datetime_field) VALUES ('NULL')
INSERT INTO table_name (datetime_field) VALUES ('#NULL#')
INSERT INTO table_name (datetime_field) VALUES ('')
Run Code Online (Sandbox Code Playgroud)
(我的查询中还有大约30个其他列.)
当我尝试''或NULL时,我得到的确切错误是'条件表达式中的数据类型不匹配'.其他人返回解析错误(可以理解).
请注意,我必须在INSERT语句中包含该字段.该字段具有默认值,但在许多情况下,我正在传输的原始数据具有NULL,在目标数据库中也必须为NULL.
提前致谢!
在Python中,以下代码片段将在执行时打开交互式shell.
import code; code.interact(local = locals())Run Code Online (Sandbox Code Playgroud)
事实证明,这对于在相当多的文档中进行调试非常有用.即使没有调试器,也可以使用shell来导航程序内环境并找出正在发生的事情.到现在为止还挺好.
现在是挑战.
我正在使用的软件(顺便说一下,用Django编写)使用某种调度机制,然后对另一个 Python进程说话,除了编辑代码之外我无法控制.除了我发送给它进行处理的变量之外,我没有任何输入.
但是,由于文档很差,我不知道代码是如何工作的,所以我想用这个code.interact方法来解决问题.
但是这个过程是通过一些特殊的调度软件在后台的某个地方启动的,所以流程不会从Django应用程序转到我想要检查的部分.相反,发送信号和对象,然后在完全不同的过程中在任意时间(10-200ms之间的任何时间)运行.当接收到信号和对象时,stdin/stdout完全不在图片中.
所以我认为不是使用stdin/stdout与之通信,code.interact而是可以通过指定readfunc参数来使用文件句柄或Unix套接字.我通过open()文件和套接字试过这个,但无济于事.
现在我试图仅仅从Django进程本身开始工作,所以即使是调度问题也是不可能的,当交互式shell确实启动时,它立即关闭,既不接受带有命令作为内容的文件,也不接受用于Python命令管道的Unix套接字.
使长话短说; 是否可以code.interact通过除stdin/stdout之外的其他方式调用的交互式shell进行通信?如果是这样,怎么样?
提前致谢.
sql-server ×3
django ×2
python ×2
.net ×1
algorithm ×1
browser ×1
c# ×1
coldfusion ×1
coldfusion-9 ×1
cookies ×1
firebug ×1
javascript ×1
jquery ×1
md5 ×1
ms-access ×1
odbc ×1
passwords ×1
php ×1
python-3.x ×1
scheduler ×1
security ×1
sql ×1
triggers ×1
unix ×1
unix-socket ×1