2017-04-03 246 views
0

如果密码字段中有值,但我希望显示为null,表示没有值但值隐藏我想隐藏我的密码字段值。帮帮我。在sql server中隐藏密码字段

+0

什么版本的SQL Server? –

+2

通常,您不会将密码**存储在数据库中:您存储密码的**哈希**,以至于几乎不可能重建原始密码。 –

+0

我想做这件事情如果有人访问我的数据库,然后我的密码提交的值不显示给他我想告诉他空值,没有密码 –

回答

0

我想你说的,当你在SQL Management Studio中编辑模式有关......

如果您还不是你或许应该被存储你的密码散列和腌制。那么你可能会更少关心那些看着你的肩膀。

下面是来自谷歌的顶部结果: https://crackstation.net/hashing-security.htm

如果您在SELECT语句中谈论那么就不要选择该列或选择像

SELECT [username], NULL as [password] FROM users 
+0

我的scnerio是,如果我想要选择表并想编辑前200行,那么字段密码必须显示为空,但在后端密码值存储,但查看器看到有空字段 –

0

您注册有必要数据库中的加密形式的密码以及进行逻辑测试时进行比较。

这是直接在应用程序中,而不是在银行!

+0

我的scnerio是,如果我想选择表,并想编辑顶部200行,那么字段密码必须显示为空,但在后端密码值存储,但查看器看到有空字段 –

0

首先你可以在数据库中存储哈希,而不是密码。但有时您需要在数据库中存储一些敏感信息,这些信息要防止访问。

在这种情况下,您可以使用动态数据遮罩(https://docs.microsoft.com/en-us/sql/relational-databases/security/dynamic-data-masking),但它支持从2016年版本开始。

例如,您可以隐藏整场:

ALTER TABLE [dbo].[Customers] 
ALTER COLUMN LastName ADD MASKED WITH (FUNCTION = 'default()'); 

enter image description here

或应用部分屏蔽:

ALTER TABLE Customers 
ALTER COLUMN Phone ADD MASKED WITH (FUNCTION = 'partial(2, "X-XXX-XX", 2)') 

enter image description here