2017-04-03 181 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