首页 > 数据库 >SQL Server 内置函数实现MD5加密

SQL Server 内置函数实现MD5加密

时间:2024-01-26 19:23:49浏览次数:27  
标签:HASHBYTES sqlvarbasetostr 加密 Server substring SQL MD5

一、MD5加密

 HASHBYTES ('加密方式', '待加密的值')

    加密方式= MD2 | MD4 | MD5 | SHA | SHA1

    返回值类型:varbinary(maximum 8000 bytes)

 

二、MD5加密示例

select HASHBYTES('MD5','123456') 

 

HASHBYTES生成的结果为:0xE10ADC3949BA59ABBE56E057F20F883E

  注意:一般工具生成的都是没有0x和是小写的,16进制的数值,去掉“0x”转换为小写值就完全与MD5值吻合了。

  在此需要用另一个函数(sys.fn_sqlvarbasetostr)把varbinary的值转换为varchar类型的

select sys.fn_sqlvarbasetostr(HASHBYTES('MD5','123456')) 

 结果:0xe10adc3949ba59abbe56e057f20f883e 截取去掉0x

select substring(sys.fn_sqlvarbasetostr(HASHBYTES('MD5','123456')),3,32) 

 结果就是完整的MD5值:e10adc3949ba59abbe56e057f20f883e

 

 三、SQL截取字符串substring

   substring 返回字符、binary、text 或 image 表达式的一部分。

   基本语法:SUBSTRING ( expression , start , length )

   expression:字符串、二进制字符串、text、image、列或包含列的表达式

   start:整数,指定子串的开始位置

   注:SQL中"1"表示字符串中的第一个字符,而.NET中"0"表示第一个字符

   length:整数,指定子串的长度(要返回的字符数或字节数)

标签:HASHBYTES,sqlvarbasetostr,加密,Server,substring,SQL,MD5
From: https://www.cnblogs.com/lgx5/p/17990521

相关文章

  • 一个用来将数字转换为英文的MySql函数
    网上很容易找到SQLServer等其它数据库转英文数字的函数,但是MySql我没有找到,故写了下来:DELIMITER$$CREATEFUNCTIONConvertThreeDigitInteger2EnWords(numStrchar(3))RETURNSvarchar(50)DETERMINISTICBEGIN /*此函数接受一个形容'010'的用3位字符表示的数字,......
  • MySQL数据库精选(从入门使用到底层结构)
    基本使用MySQL通用语法及分类DDL:数据定义语言,用来定义数据库对象(数据库、表、字段)DML:数据操作语言,用来对数据库表中的数据进行增删改DQL:数据查询语言,用来查询数据库中表的记录DCL:数据控制语言,用来创建数据库用户、控制数据库的控制权限DDL(数据定义语言)数据定义......
  • 2、mysql中的事务
    1.事务日志事务日志可以帮助提高事务的效率。使用事务日志,存储引擎在修改表的数据时只需要修改其内存拷贝,再把该修改行为记录到持久在硬盘上的事务日志中,而不用每次都将修改的数据本身持久到磁盘。事务日志采用的是追加的方式,因此写日志的操作是磁盘上一小块区域内的顺序IO......
  • The artifact mysql:mysql-connector-java:jar:8.0.33 has been relocated to com.mys
    Theartifactmysql:mysql-connector-java:jar:8.0.33hasbeenrelocatedtocom.mysql:mysql-connector-j:jar:8.0.33:MySQLConnector/Jartifactsmovedtoreverse-DNScompliantMaven2+coordinates.1.异常信息Theartifactmysql:mysql-connector-java:jar:8.0.33hasb......
  • 【SQL】SQL Server还原完整备份和差异备份的操作过程
    还原数据库遇到这个提示 学习下差异备份原文链接:https://blog.csdn.net/david_520042/article/details/1297505651.首先右键数据库,点击还原数据库:1、还原完整数据库,选择好完整数据库的备份文件,在【选项】中,【还原选项】选择覆盖现有数据库,【恢复状态】选择第二个,点击确定。......
  • 1、mysql概述
    1.连接管理与安全性每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或者CPU中运行。服务器会负责缓存线程,因此不需要为每一个新建的连接创建或者销毁线程。当客户端(应用)连接到MySOL服务器时,服务器需要......
  • LntonAIServer视频汇聚算法分析平台区域行人入侵算法检测
    在这个信息化飞速发展的时代,安全已成为我们不可忽视的话题。随着科技的进步,传统的物理防护手段已无法满足日益增长的安全需求。在这样的背景下,LntonAIServer视频汇聚算法分析平台应运而生,它如同一双智慧之眼,守护着我们的安全边界。LntonAIServer平台的核心技术之一便......
  • 数据库安全||MySQL数据库安全中MySQL权限表:包括用户管理、权限管理等&用户管理:创建、
    MySQL数据库安全:MySQL数据库安全:MySQL权限表:包括用户管理、权限管理等。用户管理:创建、修改、删除用户账号。权限管理:查看、授予和撤销用户权限。1.MySQL数据库中的权限表是存储用户权限信息的核心部分,它们位于mysql数据库中。这些权限表包含了用户账号、密码、权限以及其他与用户......
  • Python3 md5
    Python3md5MD5信息摘要算法(英语:MD5Message-DigestAlgorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。在python3的标准库中,已经移除了md5模块,而关于hash加密算法都放在hashlib这个标准库中,hashlib提供了常见的摘要......
  • Failed to connect to github.com port 443 after 21051 ms: Couldn't connect to ser
    使用git克隆远程仓库的代码,总是显示连接不上服务器,https和ssh都试了还是连不上。打开cmd去pinggithub.com也是显示连接超时,但是浏览器里面还是可以正常访问github。网上搜了一下,使用"ipconfig/flushdns"在cmd里面刷新一下本地的dns缓存,还是不行。最后找到一个方法,修改本地hosts文......