A*******n 发帖数: 625 | 1 有一个Password column在一个table里面, 数据类型是varbinary(max), 例如:
0x01000000E9C70189D7F20C3FEE7E9F4C826E3EE49C325E0D4FAA983CDFED5090D30DC234.
我想这column一定是加密了,要如何才能看到真实的password是多少。
我想是不是用DecryptByKey去找到我想要的。可是我看了sys.dm_database_encryption
_keys table和sys.symmetric_keys table, 全是空的。
我不知道是permission的问题呢,还是我的思路有问题。 哪位大神给点提示。谢谢 | i****a 发帖数: 36252 | 2 try .c.o.n.v.e.r.t. ( v.a.r.c.h.a.r.(max), columnname)
encryption
【在 A*******n 的大作中提到】 : 有一个Password column在一个table里面, 数据类型是varbinary(max), 例如: : 0x01000000E9C70189D7F20C3FEE7E9F4C826E3EE49C325E0D4FAA983CDFED5090D30DC234. : 我想这column一定是加密了,要如何才能看到真实的password是多少。 : 我想是不是用DecryptByKey去找到我想要的。可是我看了sys.dm_database_encryption : _keys table和sys.symmetric_keys table, 全是空的。 : 我不知道是permission的问题呢,还是我的思路有问题。 哪位大神给点提示。谢谢
| A*******n 发帖数: 625 | 3 试过,得到的就是blank,我觉得没法做,很多可能性。 谢了 | m********s 发帖数: 55301 | 4 看谁往里写数据。
encryption
【在 A*******n 的大作中提到】 : 有一个Password column在一个table里面, 数据类型是varbinary(max), 例如: : 0x01000000E9C70189D7F20C3FEE7E9F4C826E3EE49C325E0D4FAA983CDFED5090D30DC234. : 我想这column一定是加密了,要如何才能看到真实的password是多少。 : 我想是不是用DecryptByKey去找到我想要的。可是我看了sys.dm_database_encryption : _keys table和sys.symmetric_keys table, 全是空的。 : 我不知道是permission的问题呢,还是我的思路有问题。 哪位大神给点提示。谢谢
| e*****4 发帖数: 1 | 5 对于一个严肃的密码系统是不会采用对称加密算法的,sys.symmetric_keys里没东西正
常。这也是为什么你不能去银行问到自己的旧密码,而只能重置新密码的原因。
加密的方法组合起来不下千万种,无头绪就解密基本不可能,而且正常也不会有这需求
吧。
以我做过的项目而言,都是HSM, 硬件级别的加密。你可以试试查下以下返回,碰碰运
气。
SELECT [provider_id], [guid], [provider_version], [sqlcrypt_version], [
friendly_name], [authentication_type], [symmetric_key_support], [symmetric_
key_persistance], [symmetric_key_export], [symmetric_key_import], [
asymmetric_key_support], [asymmetric_key_persistance], [asymmetric_key_
export], [asymmetric_key_import]
FROM [master].[sys].[dm_cryptographic_provider_properties]
SELECT * FROM sys.dm_cryptographic_provider_algorithms(【provider_id】)
Select * from [master].[sys].[asymmetric_keys]
SELECT DB_NAME(e.database_id) AS DatabaseName, e.database_id, e.encryption_
state,
CASE e.encryption_state
WHEN 0 THEN 'No database encryption key present, no encryption'
WHEN 1 THEN 'Unencrypted'
WHEN 2 THEN 'Encryption in progress'
WHEN 3 THEN 'Encrypted'
WHEN 4 THEN 'Key change in progress'
WHEN 5 THEN 'Decryption in progress'
END AS encryption_state_desc, c.name, e.percent_complete
FROM sys.dm_database_encryption_keys AS e
LEFT JOIN master.sys.asymmetric_keys AS c
ON e.encryptor_thumbprint = c.thumbprint |
|