数据库里的DM5和SHA1
来源:互联网 发布:网络品牌策划 编辑:程序博客网 时间:2024/05/16 06:46
但在某些情况下,可能需要在数据库端计算 MD5 和 SHA1 哈希值,比如说在存储过程或自定义函数内部。开源数据库 MySQL 就提供类似这样的内置函数,以下语句就可以分别显示字符串 “12345” 的 MD5 和 SHA1 值,返回结果为字符串型:
SELECT sha1('12345');
但 SQL Server 中没有直接提供类似这样的函数。在 SQL Server 2000 中,如果需要加密可以使用未文档化的 pwdencrypt() 和 pwdcompare() 函数来加密数据和比较结果,加密方式是微软自己的算法,随着 SQL Server 版本的升级,函数的加密结果可能也会有所不同。
不过在 SQL Server 2005 中,微软提供了一个函数 hashbytes() 可以用来计算一个字符串的 MD5 和 SHA1 值,以下语句分别获得字符串 “12345” 的 MD5 和 SHA1:
SELECT hashbytes('SHA1', '12345') ;
hashbytes() 函数的返回结果是 varbinary 型,也就是以 0x 开头 16 进制形式的二进制数据,不过通常情况下,我们需要的都是字符串型的数据,很多人首先想到的可能就是用 CAST 或 Convert 函数将varbinary 转换为 varchar,但这样转换后的结果会是乱码,正确转换 varbinary 可变长度二进制型数据到 16 进制字符串应该使用系统内置函数 sys.fn_VarBinToHexStr(),如下所示:
sys.fn_varBinToHexStr() 函数只在 SQL Server 2005 中有效,在 SQL Server 2000 中实现相同功能使用系统扩展存储过程:master..xp_varBinToHexStr 。
- 数据库里的DM5和SHA1
- SQL Server 数据库中的 MD5 和 SHA1
- SQL Server 数据库中的 MD5 和 SHA1
- SHA1和md5的使用
- HMAC_SHA1和SHA1的区别
- 如何获取发布版SHA1和调试版的SHA1
- 如何获取发布版SHA1和调试版的SHA1
- DM5加密
- Android Studio里debug.store的SHA1获取方法
- 在 gradle文件里计算文件的sha1值
- Android计算文件的MD5和SHA1
- python的md5和sha1加密
- android sha1和签名证书的学习
- 获取RSA文件的MD5和SHA1
- python的md5和sha1加密
- python的md5和sha1加密
- python的md5和sha1加密
- 数据库里的树
- NYOJ XYNUYOJ 郁闷的c小加(一)(数据结构)
- hdoj 1024 Max Sum Plus Plus(最大m子段和)=-=
- MVC框架简介,SSH 和SSM
- 安卓动画(旋转,平移,透明,缩放,帧动画)
- LCS 最大公共序列算法
- 数据库里的DM5和SHA1
- jsp九大内置对象
- [Leetcode] 339. Nested List Weight Sum 解题报告
- POJ1463-Strategic game
- svn clean up falied 终极解决方案
- 居民身份证号码的编码规则
- HTML常用的特殊符号总结 2014年9月12日 22704次浏览 html中经常会用到一些特殊符号,例如箭头,雪花,心形等等,这些符号就不用css样式或者图片来写了,直接用html特殊符号可以实现。
- Android Studio 3.+版本 Gradle中Complie和Implementation
- CodeM 数码