【问题标题】:Decode/Encode in SQL ServerSQL Server 中的解码/编码
【发布时间】:2018-01-15 09:59:11
【问题描述】:

我想解码这个

BQtvZB9sm416x/DYBrf1FCWrnbejnX6ZWkh3uWQzt5k=

此文本在 SQL Server 2012 中为“我正在使用堆栈溢出”。SQL Server 将作为输入给出此文本

BQtvZB9sm416x/DYBrf1FCWrnbejnX6ZWkh3uWQzt5k= 

需要转换成

I am using stack overflow

在 SQL Server 中。

密钥:测试,算法:Tripledes,模式:CBC,编码输出使用:Base64

如果你想检查,你可以在这里检查:https://www.tools4noobs.com/online_tools/encrypt/

提前致谢

【问题讨论】:

  • 您标记了三个特定版本的 SQL Server,但只提到了一个。您遇到过什么具体问题? “我要”有点含糊。
  • 嗨@HABO,根据上面给出的链接,我只需要在sql server 2012中将“BQtvZB9sm416x/DYBrf1FCWrnbejnX6ZWkh3uWQzt5k=”转换为“我正在使用堆栈溢出”。意味着如果你访问它正在使用的网站在此加密字符串中转换的一些算法和密钥。如果使用相同的算法和密钥为 sql server 提供相同的加密字符串,我们是否可以解密为“我正在使用堆栈溢出”作为 SELECT Query 中的输出。我对 SELECT Query 的输入将是该加密字符串。如果代码可以由于我们已升级到 2012,因此较低版本不支持。只是添加了更多标签以更快地获得答案。

标签: sql-server sql-server-2008 tsql sql-server-2012 sql-server-2008-r2


【解决方案1】:

您在这里处理 2 个主题,即编码和加密。

如果你能解释你想要完成什么,我们最好能提出一些建议。

如果您想完全在 SQL 服务器中加密和解密某些内容,您可以使用 encryptByPassPhrase/DecryptByPassPhrase 函数。它非常易于使用。

现在TSQL中的编码和解码可以这样完成:

set @encoded = cast('' as xml).value('xs:base64Binary(sql:variable("@source"))', 'varchar(max)')
set @decoded = cast('' as xml).value('xs:base64Binary(sql:variable("@encoded"))', 'varbinary(max)')

【讨论】:

  • 嗨 henrik Clausen,客户端将发送加密字符串,我们只需要在 SQL Server 2012 中解密该代码即可。
猜你喜欢
  • 2014-10-25
  • 2011-07-02
  • 1970-01-01
  • 2015-12-15
  • 2016-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-03
相关资源
最近更新 更多