在 WIN-PAK 4.7 MSSQL 数据库中解码二进制数据
Decoding Binary Data in WIN-PAK 4.7 MSSQL Database
WIN-PAK 在其后端 sql 服务器数据库中进行了一些"questionable" 架构更改,它破坏了我的查询。什么是 nvarchar(35) 已更改为 varbinary(MAX)。在我写的一些附加组件中,我需要能够将其转换回人类可读的字符串。麻烦的是,我不知道他们首先是如何进行编码的。
如何转换 0x004E2B296D0F5707CA3D0EDA6FBC05CB010000007FFBED343A41DB3016798FA2B6FAFE8A4460E1ACB58CBA05BBE34AA0A133C6B8BE0F2F95C153CB658=9EAB31ECA[]
返回字符串 "PILLOW" ?
我已经联系了霍尼韦尔 WIN-PAK 支持部门,但由于我不是授权经销商,他们不会联系我。我已经尝试了明显的 convert 和 cast 语句,但没有成功。我已经完成了通常的论坛潜伏。我希望了解这些变化的人可以插话,或者经常处理转换数据的人可以解释 6 个字符如何变成那个混乱的二进制文件。
看起来他们正在使用 Microsoft SQL 服务器加密
这里有一个很好的概述:
https://www.sqlshack.com/an-overview-of-the-column-level-sql-server-encryption/
我能够使用以下内容(假设它是通用加密密钥)解码 CardHolder table:
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'WPMasterKey!@#';
--CREATE CERTIFICATE WPEnctCertificate WITH SUBJECT = 'WP Personnel Data Ids'
OPEN SYMMETRIC KEY WPEnctSymmetricKey DECRYPTION BY CERTIFICATE WPEnctCertificate
SELECT TOP (1000) [RecordID]
,[AccountID]
,[SubAccountID]
,[TimeStamp]
,[UserID]
,[NodeID]
,[Deleted]
,[UserPriority]
,CONVERT(nvarchar, DecryptByKey([FirstName])) as FirstName
,CONVERT(nvarchar, DecryptByKey([LastName])) as LastName
,[FirstName]
,[LastName]
,[Note1]
FROM [WIN-PAK PRO].[dbo].[CardHolder]
我认为 WPEnctCertificate 应该已经在您的系统中,但如果没有,请取消注释该行并 运行 它。
WIN-PAK 在其后端 sql 服务器数据库中进行了一些"questionable" 架构更改,它破坏了我的查询。什么是 nvarchar(35) 已更改为 varbinary(MAX)。在我写的一些附加组件中,我需要能够将其转换回人类可读的字符串。麻烦的是,我不知道他们首先是如何进行编码的。
如何转换 0x004E2B296D0F5707CA3D0EDA6FBC05CB010000007FFBED343A41DB3016798FA2B6FAFE8A4460E1ACB58CBA05BBE34AA0A133C6B8BE0F2F95C153CB658=9EAB31ECA[]
返回字符串 "PILLOW" ?
我已经联系了霍尼韦尔 WIN-PAK 支持部门,但由于我不是授权经销商,他们不会联系我。我已经尝试了明显的 convert 和 cast 语句,但没有成功。我已经完成了通常的论坛潜伏。我希望了解这些变化的人可以插话,或者经常处理转换数据的人可以解释 6 个字符如何变成那个混乱的二进制文件。
看起来他们正在使用 Microsoft SQL 服务器加密
这里有一个很好的概述:
https://www.sqlshack.com/an-overview-of-the-column-level-sql-server-encryption/
我能够使用以下内容(假设它是通用加密密钥)解码 CardHolder table:
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'WPMasterKey!@#';
--CREATE CERTIFICATE WPEnctCertificate WITH SUBJECT = 'WP Personnel Data Ids'
OPEN SYMMETRIC KEY WPEnctSymmetricKey DECRYPTION BY CERTIFICATE WPEnctCertificate
SELECT TOP (1000) [RecordID]
,[AccountID]
,[SubAccountID]
,[TimeStamp]
,[UserID]
,[NodeID]
,[Deleted]
,[UserPriority]
,CONVERT(nvarchar, DecryptByKey([FirstName])) as FirstName
,CONVERT(nvarchar, DecryptByKey([LastName])) as LastName
,[FirstName]
,[LastName]
,[Note1]
FROM [WIN-PAK PRO].[dbo].[CardHolder]
我认为 WPEnctCertificate 应该已经在您的系统中,但如果没有,请取消注释该行并 运行 它。