Microsoft SQL Server是如何加密口令的?未公开的加密函数
对MSSQL的用户信息有兴趣的,可能会发现master.dbo.sysxlogins里面存放着用户的口令,可是呢,password字段如果不是null就是一堆看不懂的binary,这个口令是怎么加密的呢?
其实只要仔细看看master.dbo.sp_addlogin就知道了,MSSQL的sp都可以看到代码,真是不错。
让我们来看看它是怎么做的,注意这一行select @passwd = pwdencrypt(@passwd),这个时后@passwd就被加密了,让我们也来试一下
DECLARE @ClearPWD varchar(255)
DECLARE @EncryptedPWD varbinary(255)
SELECT @ClearPWD = 'test'
SELECT @EncryptedPWD = CONVERT(varbinary(255), pwdencrypt(@ClearPWD))
SELECT @EncryptedPWD
看上去不错,确实被加密了,可是我怎么还原呢?

呵呵,这就没戏了,口令加密都是单向的,用加密后的密文来比较就可以了。
继续看看其它用户相关的sp,可以发现master.dbo.sp_password里面有口令比较的内容。
pwdcompare(@old, password, (CASE WHEN xstatus&2048 = 2048 THEN 1 ELSE 0 END))
不用去理会xstatus,这是一个状态掩码,一般我们用的时候就直接用0就可以了
DECLARE @ClearPWD varchar(255)
DECLARE @EncryptedPWD varbinary(255)
SELECT @ClearPWD = 'test'
SELECT @EncryptedPWD = CONVERT(varbinary(255), pwdencrypt(@ClearPWD))
SELECT pwdcompare(@ClearPWD, @EncryptedPWD, 0)
SELECT pwdcompare('ErrorPassword', @EncryptedPWD, 0)
这样我们就可以使用这两个函数来加密自己的密码了,怎么样,还不错吧?

posted on 2004-04-21 17:00 Forrest_Lu 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/Forrest_Lu/archive/2004/04/21/6969.html

Microsoft SQL Server是如何加密口令的?未公开的加密函数相关推荐

  1. 把Oracle数据库移植到Microsoft SQL Server 7 0

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 把Ora ...

  2. Microsoft SQL Server 2000整合规划

    Microsoft SQL Server 2000整合规划 更新日期: 2004年06月24日 SQL Server技术文章 作者:Allan Hirt 投稿人:Tom Davidson和Shaun ...

  3. 访问 Microsoft SQL Server 元数据的三种

    上海微创软件有限公司 肖桂东 适用读者:Microsoft SQL Server 中.高级用户 元数据简介 元数据 (metadata) 最常见的定义为"有关数据的结构数据",或者 ...

  4. Microsoft SQL Server 存储过程

    Microsoft SQL Server 存储过程 TRIGGER DDL触发器:主要用于防止对数据库架构.视图.表.存储过程等进行的某些修改:DDL事件是指对数据库CREATE,ALTER,DROP ...

  5. Microsoft SQL Server 自定义函数整理大全--转【叶子】的文章

    SQL SERVER中是允许有自定义函数,Microsoft SQL Server并不将用户限制在定义为 Transact-SQL语言一部分的内置函数上,而是允许用户创建自己的用户定义函数. 函数是由 ...

  6. [转]Microsoft SQL Server 自定义函数整理大全

    SQL SERVER中是允许有自定义函数,Microsoft SQL Server 并不将用户限制在定义为 Transact-SQL 语言一部分的内置函数上,而是允许用户创建自己的用户定义函数. 函数 ...

  7. 用于打开和创建SQLite,Microsoft SQL Server,PostgreSQL和MySQL SQL数据库的WPF对话框

    目录 介绍 创建数据库对话框 打开数据库对话框 背景 使用代码 显示数据库对话框 加密 序列化 构建演示应用程序 遗漏 从Github下载源代码 介绍 本文介绍了一些用于创建和打开SQL数据库的便捷对 ...

  8. Microsoft SQL Server数据库部署过程

    介绍 (Introduction) Database deployments are critical tasks that can affect negative in on performance ...

  9. Microsoft SQL Server认证方式的修改

    通常在安装Microsoft SQL Server的时候会采用Windows认证方式,但是在应用开发中经常需要使用混合认证方式,安装之后可以按照如下方式修改: 1.修改认证方式 打开Microsoft ...

  10. 《Microsoft Sql server 2008 Internal》读书笔记--第七章Special Storage(3)

    <Microsoft Sql server 2008 Interna>读书笔记订阅地址: http://www.cnblogs.com/downmoon/category/230397.h ...

最新文章

  1. 检查单 2014-06-20-01
  2. [No000039]操作系统Operating Systems用户级线程User Threads
  3. 给帝国cms7.5后台文章编辑器ckeditor增加一个行距的功能插件
  4. 如何在MFC客户端调用COM DLL
  5. iOS-Delegate模式
  6. 十分钟让你对C++ Traits大彻大悟
  7. logisim软件使用学习
  8. 为了对电脑进行保护,已经阻止此应用
  9. C盘清理——借助软件TreeSizeFree【网盘分享】(亲测有效)
  10. c语言OBD编程,汽车OBD2诊断程序开发
  11. 人工智能,机器学习, 深度学习框架图
  12. 计算机开机只显示,电脑开机黑屏只显示光标怎么办?来看看几种原因分析及解决方法!...
  13. 【微信小程序|Demo】订单结算页面
  14. 阿里小蜜技术学习笔记--知识点整理
  15. 机器学习-新闻分类案例
  16. 微机原理——8086系统的概述与引脚介绍
  17. Inverse/Reverse/Converse的辨异
  18. postman+newman+jenkins持续集成
  19. Python——文档
  20. 01 “响应式Web设计”——概述

热门文章

  1. 深度学习(二):传统神经网络
  2. 深度学习(二十一)基于FCN的图像语义分割-CVPR 2015
  3. Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2”
  4. softmax与sigmoid函数的理解
  5. 机器学习中的正则化(Regularization)
  6. set 排序_堆排序C++实现
  7. Linux ubuntu centos Shell命令大全
  8. mybatis--关于接口参数注解的几个小问题
  9. 红外倒车雷达原理图_黑科技 | 5分钟看懂无人驾驶汽车和激光雷达
  10. 基于springboot+LayUI的校园信息发布平台