
此文章主要讲述的是未公开的MS SQL Server 加密函数,如果对MSSQL的用户信息有兴趣了解的话,你就可能会发现master.dbo.sysxlogins里面存放着用户的口令,可是呢,passWORD字段如果不是null就是一堆看不懂的binary,这个口令是怎么加密的呢?
其实只要仔细看看master.dbo.sp_addlogin就知道了,MSSQL的sp都可以看到代码,真是不错。
让我们来看看它是怎么做的,注意这一行select @passwd = pwdencrypt(@passwd),这个时后@passwd就被加密了,让我们也来试一下
看上去不错,确实被加密了,可是我怎么还原呢?
呵呵,这就没戏了,口令加密都是单向的,用加密后的密文来比较就可以了。
继续看看其它用户相关的sp,可以发现master.dbo.sp_password里面有口令比较的内容。
pwdcompare(@old, password, (CASE WHEN xstatus&2048 = 2048 THEN 1 ELSE 0 END))
不用去理会xstatus,这是一个状态掩码,一般我们用的时候就直接用0就可以了
【编辑推荐】
在安装 sql2000 时 遇到 这样的 情况 该如何解决啊! 求高手解决!
因为“workstation”这个服务没有启动。 解决方法:依次点开始--设置--管理工具--服务,打开的窗口中找到最下面有个workstation项目,在上面右击属性在启动类型下拉框选自动下面点启动按钮,确定。 这样应该就没事了。
ASP+ACCESS 的网站 怎么转换成ASP.net+SQL的
你想怎么转换,很麻烦的,asp可以和一起用,没必要转啦如果你执意要的话,请看下面的将 ASP 移植至 当移植 ASP 应用程序至 时,会需要决定要花多少时间在现有的 ASP 应用程序并入 新功能。 将 ASP 网页的扩展名从 改为 ,并修正一些句法上的变更通常就够让 ASP 网页如 网页般运作。 这一类的移植,虽然可快速完成,但并没有利用到多少 的新功能,包括 的网页控件、Microsoft 、Microsoft Framework 类别等。 虽然更完整的移植可能需要花更多时间,但最后完成的 网页也更容易读取、更容易维护且功能更丰富。 身为一名开发人员,在决定要采取什么方法将 ASP 应用程序移至 时,您需要稍加斟酌。 如果有时间的压力,则从 ASP 至 的简单移植可能比较合宜;如果没有什么期限,其实值得花点时间彻底建置一个丰富的 应用程序。 当然,您也可以采取渐进式的方法。 如果您管理的大型站台利用了许多 COM 组件来实作商务规则,则可以选择先移植网页应用程序的使用者接口 (UI) 部份,并继续使用传统的 COM 组件。 在接下来的部份,将探讨以尽可能少的修改将现有的 ASP 程序代码移植至 。 将 ASP 应用程序移植至 将现有 ASP 应用程序移植至 的第一步就是将 ASP 网页的扩展名从 重新命名为 。 由于 Project Report Application 只有一个 ASP 网页,所以剩下的工作其实非常简单。 一旦进行这项变更之后,花点时间透过您的 Web 浏览器参观一下新的 页面。 加载时有发生错误吗?应该不太可能,不过 VBScript 程序代码有可能包含了一些句法问题。 当移植我们先前探讨过的 ASP 应用程序时,会收到的第一个错误讯息是关于 Option Explicit 的错误,如 [图 2] 所示。 [图 2] Option Explicit 陈述式错误讯息对 网页而言,此陈述式应该移至 @Page 指示词。 现在可以开始编辑 档案,移除行 1 和行 2,并以下列 @Page 指示词取代:<% @Page Language=VB Explicit=True %>完成这项变更之后,在浏览器中重新加载该页面。 将会收到另一个关于 陈述式缺乏括号的错误。 [图 3] 陈述式错误讯息此错误的产生是因为 Visual Basic 要求副函式及函式中所有的自变量清单都必须使用括号括住。 检查整个文件并为所有 陈述式的自变量清单周围放上括号,然后在浏览器中重新加载 一次。 另一个从 Visual Basic 6.0/VBScript 到 Visual Basic 的变更是 Visual Basic 并不支持预设属性。 预设属性允许开发人员走一点快捷方式 — 如果在 Visual Basic 6.0/VBScript 中使用传统 COM 组件而无法指定属性时,就可以使用预设属性。 例如,ADO 数据录集的预设属性是 Fields 集合,而 Fields 集合的预设属性是 Value 属性。 因此,当您使用 objRecordset(columnName)在传统的 ASP 中您本质上的意思是 (columnName)当将传统的 ASP 网页移植置 时,您可能会收到下列密码编译的错误讯息: Cast from __ComObject to String is not valid.[图 4] 移植程序错误讯息发生这类错误是因为 Visual Basic 并不支持预设属性,当我们使用(objRecordset(columnName))Visual Basic 尝试将 Fields 对象转换成 String,而它其实办不到。 相反地,我们必须明确陈述希望输出的属性来指明想要输出的 Value 属性((columnName))在继续移植 应用程序的同时,必定会碰到其它句法上的错误。 [表 1] 总结了将 Project Report Appliction 从 ASP 移植至 时所遇到的句法错误。 附注 Visual Basic 在 Visual Basic 的发行之时已蜕变为成熟的程序设计语言。 它现在支持 错误处理、真实对象导向开发,以及许多其它期待已久的增强功能。 为了使 Visual Basic 更现代化,在语言上做些句法上的变更是必要的。 也因此,Visual Basic 并不是 100% 与 VBScript 或 Visual Basic 6. 0 相容。 有关 Visual Basic 中的变更的详细讨论, 请务必参阅《Preparing your Visual Basic 6.0 Applications for the Upgrade to Visual Basic 》(英文)。 [表 1] 移植 Project Report Application 时所遇到的句法错误详细的看:
c# 登陆界面 修改密码按钮代码,帮我看下两个箭头处的代码意思。运行后,sql数据库密码不更新。

using ; using ; ... string strconnection=user id=sa;password=;; strconnection+=initial catalog=northwind;server=yoursqlserver;; strconnection+=connect timeout=30; sqlconnection objconnection=new sqlconnection(strconnection); ... (); ();
发表评论