sqlserver怎样实现SHA256加密算法

ajdkjalj 2020-12-15 07:21:56
sqlserver版本是2008r2的,搜了好些没有找到内置的sha256加密算法,有大佬有sha256函数的么
...全文
1316 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
¥小添添¥ 2021-07-19
  • 打赏
  • 举报
回复

HMAC-SHA256 同问这个加密算法 SqlServer 如何实现?

wwfxgm 2020-12-22
  • 打赏
  • 举报
回复
雨夹雪的 clr程序集。这个很好,大大方便了工作。
ダ雨夹雪リ 2020-12-16
  • 打赏
  • 举报
回复
完了完了,你可能用不了,我的版本跟你的不一样,你还是得用上面的源代码,下载C#,编译才行 https://wenku.baidu.com/view/6aed46d33a3567ec102de2bd960590c69fc3d866.html 看看这个文档的,有C#一步一步创建函数
ダ雨夹雪リ 2020-12-16
  • 打赏
  • 举报
回复
--发不了附件,这是编译好的,你直接用 --1.设置配置,运行执行clr exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'clr enabled',1 reconfigure exec sp_configure 'show advanced options',0 reconfigure go --2.创建程序集 CREATE ASSEMBLY [jiami] FROM 0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C0103005758D95F0000000000000000E00022200B0130000008000000060000000000002A260000002000000040000000000010002000000002000004000000000000000600000000000000008000000002000000000000030060850000100000100000000010000010000000000000100000000000000000000000D82500004F000000004000009802000000000000000000000000000000000000006000000C000000A02400001C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000080000000000000000000000082000004800000000000000000000002E7465787400000030060000002000000008000000020000000000000000000000000000200000602E72737263000000980200000040000000040000000A0000000000000000000000000000400000402E72656C6F6300000C0000000060000000020000000E000000000000000000000000000040000042000000000000000000000000000000000C2600000000000048000000020005008C20000014040000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013300200240000000100001100280500000A026F0600000A0A280700000A066F0800000A0B07280900000A0C2B00082A2202280A00000A002A00000042534A4201000100000000000C00000076342E302E33303331390000000005006C0000005C010000237E0000C8010000BC01000023537472696E67730000000084030000040000002355530088030000100000002347554944000000980300007C00000023426C6F620000000000000002000001471502000900000000FA013300160000010000000A0000000200000002000000010000000A000000040000000100000001000000020000000000B40001000000000006005B00070106007B00070106003200F4000F002701000006006901BE000A004600D3000A00B10136010600990088010600010094010600C50094010000000008000000000001000100010010005401000015000100010050200000000096000100400001008020000000008618EE0006000200000001001D000900EE0001001100EE0006001900EE000A003100EE00060041007C01190041004B011E0049002B0024005100A20029003900700130002900EE0006002000230077002E000B0046002E0013004F002E001B006E001000048000000000000000000000000000000000AE000000040000000000000000000000370022000000000004000000000000000000000037001100000000000000000000534841323536003C4D6F64756C653E0053797374656D2E446174610064617461006D73636F726C6962004372656174650044656275676761626C654174747269627574650053716C46756E6374696F6E41747472696275746500436F6D70696C6174696F6E52656C61786174696F6E734174747269627574650052756E74696D65436F6D7061746962696C69747941747472696275746500456E636F64696E6700436F6D7075746548617368006A69616D69006A69616D692E646C6C0053797374656D0048617368416C676F726974686D004D6963726F736F66742E53716C5365727665722E536572766572002E63746F720053797374656D2E446961676E6F73746963730053797374656D2E52756E74696D652E436F6D70696C6572536572766963657300446562756767696E674D6F6465730053797374656D2E446174612E53716C54797065730047657442797465730055736572446566696E656446756E6374696F6E73004F626A656374006F705F496D706C69636974006765745F44656661756C740053797374656D2E546578740053797374656D2E53656375726974792E43727970746F6772617068790053716C42696E6172790000000000008FAE7B578CAD8040BD54EFF43D129625000420010108032000010520010111110807031D051D05111D04000012210520011D050E04000012250620011D051D05060001111D1D0508B77A5C561934E089050001111D0E0801000800000000001E01000100540216577261704E6F6E457863657074696F6E5468726F7773010801000701000000000401000000000000005758D95F00000000020000001C010000BC240000BC060000525344534092A5356CF2594886D560FA546565CF01000000453A5C746578745C6A69616D695C6A69616D695C6F626A5C44656275675C6A69616D692E70646200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000001A2600000020000000000000000000000000000000000000000000000C260000000000000000000000005F436F72446C6C4D61696E006D73636F7265652E646C6C0000000000FF25002000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001000000018000080000000000000000000000000000001000100000030000080000000000000000000000000000001000000000048000000584000003C02000000000000000000003C0234000000560053005F00560045005200530049004F004E005F0049004E0046004F0000000000BD04EFFE00000100000000000000000000000000000000003F000000000000000400000002000000000000000000000000000000440000000100560061007200460069006C00650049006E0066006F00000000002400040000005400720061006E0073006C006100740069006F006E00000000000000B0049C010000010053007400720069006E006700460069006C00650049006E0066006F0000007801000001003000300030003000300034006200300000002C0002000100460069006C0065004400650073006300720069007000740069006F006E000000000020000000300008000100460069006C006500560065007200730069006F006E000000000030002E0030002E0030002E003000000034000A00010049006E007400650072006E0061006C004E0061006D00650000006A00690061006D0069002E0064006C006C0000002800020001004C006500670061006C0043006F0070007900720069006700680074000000200000003C000A0001004F0072006900670069006E0061006C00460069006C0065006E0061006D00650000006A00690061006D0069002E0064006C006C000000340008000100500072006F006400750063007400560065007200730069006F006E00000030002E0030002E0030002E003000000038000800010041007300730065006D0062006C0079002000560065007200730069006F006E00000030002E0030002E0030002E003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000C0000002C3600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 WITH PERMISSION_SET = EXTERNAL_ACCESS GO --3.创建函数 Create Function SHA256(@Source nvarchar(4000)) Returns varbinary(256) As External Name jiami.UserDefinedFunctions.SHA256 --4.测试 select dbo.SHA256('123456')
ajdkjalj 2020-12-16
  • 打赏
  • 举报
回复
引用 3 楼 雨夹雪 的回复:
//CLR代码,编译后加载到sql server,并创建函数,然后测试,结果和HASHBYTES('SHA2_256','值') 对的上 using System; using System.Data; using System.Data.SqlClient; using System.Data.SqlTypes; using System.Security.Cryptography; using System.Text; using Microsoft.SqlServer.Server; public partial class UserDefinedFunctions { [Microsoft.SqlServer.Server.SqlFunction] public static SqlBinary SHA256(string data) { byte[] bytes = Encoding.Default.GetBytes(data); byte[] hash = SHA256Managed.Create().ComputeHash(bytes); return hash; } }
是怎么加载到sqlserver的呢,这种方法我还没用过,有没有链接可以参考一下
ダ雨夹雪リ 2020-12-16
  • 打赏
  • 举报
回复
//CLR代码,编译后加载到sql server,并创建函数,然后测试,结果和HASHBYTES('SHA2_256','值') 对的上 using System; using System.Data; using System.Data.SqlClient; using System.Data.SqlTypes; using System.Security.Cryptography; using System.Text; using Microsoft.SqlServer.Server; public partial class UserDefinedFunctions { [Microsoft.SqlServer.Server.SqlFunction] public static SqlBinary SHA256(string data) { byte[] bytes = Encoding.Default.GetBytes(data); byte[] hash = SHA256Managed.Create().ComputeHash(bytes); return hash; } }
ダ雨夹雪リ 2020-12-16
  • 打赏
  • 举报
回复
我错了,sql2008还没有,那只能用clr封装一个咯
ダ雨夹雪リ 2020-12-16
  • 打赏
  • 举报
回复

--就是这个呀
SELECT HASHBYTES('SHA2_256','值')

22,297

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧