身份證號脫敏處理一般隱藏哪幾位
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),河北企業(yè)網(wǎng)站建設(shè),河北品牌網(wǎng)站建設(shè),網(wǎng)站定制,河北網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,河北網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
身份證號脫敏處理,一般情況下是隱藏年月日那六位數(shù)字
1)、數(shù)據(jù)脫敏是“指對某些敏感信息通過脫敏規(guī)則進行數(shù)據(jù)的變形,實現(xiàn)敏感隱私數(shù)據(jù)的可靠保護。在涉及客戶安全數(shù)據(jù)或者一些商業(yè)性敏感數(shù)據(jù)的情況下,在不違反系統(tǒng)規(guī)則條件下,對真實數(shù)據(jù)進行改造并提供測試使用,如身份證號、手機號、卡號、客戶號等個人信息都需要進行數(shù)據(jù)脫敏。是數(shù)據(jù)庫安全技術(shù)之一?!?/p>
2)、本文介紹的脫敏數(shù)據(jù)報表查詢將利用潤乾集算器編寫 SPL 腳本,對敏感信息字段 (如: 姓名、證件號、銀行賬戶、住址、電話號碼、企業(yè)名稱、工商注冊號、納稅人識別號) 等通過預(yù)定義的脫敏規(guī)則進行數(shù)據(jù)脫敏、變形,實現(xiàn)敏感隱私數(shù)據(jù)的保護。
3)、潤乾集算器能使脫敏工作變得的簡單易行,同時可以減少大量重復(fù)性工作。通過集算器 SPL 腳本實現(xiàn)的脫敏數(shù)據(jù),可直接作為報表數(shù)據(jù)集進行查詢分析,也可以作為開發(fā)、測試和其它非生產(chǎn)環(huán)境或外包環(huán)境下的真實數(shù)據(jù)集使用。
1.1 數(shù)據(jù)脫敏介紹
根據(jù)百度詞條的解釋,數(shù)據(jù)脫敏是“指對某些敏感信息通過脫敏規(guī)則進行數(shù)據(jù)的變形,實現(xiàn)敏感隱私數(shù)據(jù)的可靠保護。在涉及客戶安全數(shù)據(jù)或者一些商業(yè)性敏感數(shù)據(jù)的情況下,在不違反系統(tǒng)規(guī)則條件下,對真實數(shù)據(jù)進行改造并提供測試使用,如身份證號、手機號、卡號、客戶號等個人信息都需要進行數(shù)據(jù)脫敏。是數(shù)據(jù)庫安全技術(shù)之一,數(shù)據(jù)庫安全技術(shù)主要包括:數(shù)據(jù)庫漏掃、數(shù)據(jù)庫加密、數(shù)據(jù)庫防火墻、數(shù)據(jù)脫敏、數(shù)據(jù)庫安全審計系統(tǒng)。”
隨著信息時代的發(fā)展,我們對數(shù)據(jù)信息的安全要求越來越重視,比如對非生產(chǎn)環(huán)境下的敏感數(shù)據(jù)的脫敏保護。在金融、運營商、政府、能源等部門,非生產(chǎn)環(huán)境下數(shù)據(jù)脫敏已列入監(jiān)管部門的法規(guī)要求。非生產(chǎn)環(huán)境數(shù)據(jù)多用于開發(fā)、測試、培訓以及第三方數(shù)據(jù)分析、挖掘,如果不能有效實施敏感數(shù)據(jù)保護,極易造成敏感數(shù)據(jù)的泄露。所以,保證非生產(chǎn)數(shù)據(jù)的安全已經(jīng)成為一個重要的課題,要求我們能夠通過對敏感信息進行脫敏、變形,實現(xiàn)有效的數(shù)據(jù)保護。
1.2 對數(shù)據(jù)脫敏工具的要求
數(shù)據(jù)脫敏工具應(yīng)該具有對多種異構(gòu)數(shù)據(jù)源的支持,從而將一個脫敏規(guī)則應(yīng)用于不同的數(shù)據(jù)源,比如針對“客戶名稱”字段的修改,脫敏規(guī)則基本一致,所以應(yīng)該可以在 Excel、TXT、Oracle、MS SQLServer、MySQL、Hadoop 等數(shù)據(jù)源上直接引用。另外,工具還應(yīng)支持將脫敏數(shù)據(jù)完全不落地分發(fā),提供文件到文件、文件到數(shù)據(jù)庫、數(shù)據(jù)庫到數(shù)據(jù)庫、數(shù)據(jù)庫到文件等方式,并且不需要在生產(chǎn)系統(tǒng)或本地安裝任何客戶端。
本文介紹的脫敏數(shù)據(jù)報表查詢將利用潤乾集算器編寫 SPL 腳本,對敏感信息字段 ( 如: 姓名、證件號、銀行賬戶、住址、電話號碼、企業(yè)名稱、工商注冊號、納稅人識別號) 等通過預(yù)定義的脫敏規(guī)則進行數(shù)據(jù)脫敏、變形,實現(xiàn)敏感隱私數(shù)據(jù)的保護。
潤乾集算器能使脫敏工作變得的簡單易行,同時可以減少大量重復(fù)性工作。通過集算器 SPL 腳本實現(xiàn)的脫敏數(shù)據(jù),可直接作為報表數(shù)據(jù)集進行查詢分析,也可以作為開發(fā)、測試和其它非生產(chǎn)環(huán)境或外包環(huán)境下的真實數(shù)據(jù)集使用。
1.3 脫敏數(shù)據(jù)的特征
數(shù)據(jù)脫敏不僅要執(zhí)行數(shù)據(jù)漂白,抹去數(shù)據(jù)中的敏感內(nèi)容,同時也需要保持原有的數(shù)據(jù)特征、業(yè)務(wù)規(guī)則和數(shù)據(jù)關(guān)聯(lián)性,保證開發(fā)、測試、培訓以及大數(shù)據(jù)類業(yè)務(wù)不會受到脫敏的影響,達成脫敏前后的數(shù)據(jù)一致性和有效性:
l 保持原有數(shù)據(jù)特征
數(shù)據(jù)脫敏前后必須保證數(shù)據(jù)特征的保持,例如:身份證號碼由十七位數(shù)字本體碼和一位校驗碼組成,分別為區(qū)域地址碼(6 位)、出生日期(8 位)、順序碼(3 位)和校驗碼(1 位)。那么身份證號碼的脫敏規(guī)就需要保證脫敏后依舊保持這些特征信息。
l 保持數(shù)據(jù)之間的一致性
在不同業(yè)務(wù)中,數(shù)據(jù)和數(shù)據(jù)之間具有一定的關(guān)聯(lián)性。例如:出生年月或年齡和出生日期之間的關(guān)系。同樣,身份證信息脫敏后仍需要保證出生年月字段和身份證中包含的出生日期之間的一致性。
l 保持業(yè)務(wù)規(guī)則的關(guān)聯(lián)性
保持數(shù)據(jù)業(yè)務(wù)規(guī)則的關(guān)聯(lián)性是指數(shù)據(jù)脫敏時數(shù)據(jù)關(guān)聯(lián)性以及業(yè)務(wù)語義等保持不變,其中數(shù)據(jù)關(guān)聯(lián)性包括:主、外鍵關(guān)聯(lián)性、關(guān)聯(lián)字段的業(yè)務(wù)語義關(guān)聯(lián)性等。特別是高度敏感的賬戶類主體數(shù)據(jù)往往會貫穿主體的所有關(guān)系和行為信息,因此需要特別注意保證所有相關(guān)主體信息的一致性。
l 多次脫敏之間的數(shù)據(jù)一致性
相同的數(shù)據(jù)進行多次脫敏,或者在不同的測試系統(tǒng)進行脫敏,需要確保每次脫敏的數(shù)據(jù)始終保持一致性,只有這樣才能保障業(yè)務(wù)系統(tǒng)數(shù)據(jù)變更的持續(xù)一致性以及廣義業(yè)務(wù)的持續(xù)一致性。
1.4 數(shù)據(jù)脫敏應(yīng)用場景
一般常見的數(shù)據(jù)脫敏場景,是將生產(chǎn)數(shù)據(jù)或是生產(chǎn)數(shù)據(jù)文件按照脫敏規(guī)則,將數(shù)據(jù)不落地脫敏至測試數(shù)據(jù)庫或是測試數(shù)據(jù)文件中,具體如下所示:
使用集算器的 SPL 可以按照業(yè)務(wù)場景要求自行定義和編寫脫敏規(guī)則,比如針對上面的人員信息:姓名、身份證號、地址、電話號碼、卡號等進行不落地脫敏,滿足數(shù)據(jù)脫敏需要。
集算器是一個無框架,可快速部署開發(fā)的數(shù)據(jù)計算中間件工具,能夠直接運行編寫好的 SPL 數(shù)據(jù)脫敏腳本即時進行數(shù)據(jù)脫敏,支持各種常見的數(shù)據(jù)脫敏的處理方式,包括數(shù)據(jù)替換、無效化、隨機化、偏移和取整、掩碼屏蔽、靈活編碼等,本文介紹的數(shù)據(jù)脫敏方法都可以在實際應(yīng)用中混合替換使用
這個主要看軟件開發(fā)人員的加密方式
一般流程是,
1.新建用戶,或者修改密碼時候,將用戶輸入的密碼按照一定的加密方式加密后儲存在數(shù)據(jù)庫
2.在用戶登錄的時候,將用戶所輸入的密碼再次進行加密后與數(shù)據(jù)庫內(nèi)的加密密碼對比
這樣做的好處是,防止密碼在網(wǎng)絡(luò)傳輸過程中被截取,比如黑客可以對網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)進行抓包分析,對于加密的密碼在傳輸過程中不是以明文進行傳輸,如果被竊取到數(shù)據(jù),不能得到有效破解,也是沒有用的,這就增加了可靠性。
目前我了解到國內(nèi)安華金和可以支持,他家產(chǎn)品不僅支持一般文件類型的數(shù)據(jù)脫敏,例如:CSV文件、TXT文件、Excel文件;同時,支持醫(yī)療行業(yè)常見文件類型的數(shù)據(jù)脫敏,包括XML、HTML格式的電子病歷文件和DICOM格式的醫(yī)學影像文件等;最主要的是系統(tǒng)還支持對Oracle數(shù)據(jù)庫導(dǎo)出的DMP文件進行脫敏,并將脫敏后的數(shù)據(jù)寫入目標數(shù)據(jù)庫,或直接生成脫敏后的DMP文件發(fā)送給數(shù)據(jù)使用者。
1、創(chuàng)建新的測試數(shù)據(jù)表,或者可以選擇要測試的現(xiàn)有表數(shù)據(jù)。這只是測試字符串連接,不會影響數(shù)據(jù)內(nèi)容。從T_BASE_PROVINCE t中選擇*,其中t.id = 1。
2、首先介紹下一個||滿足連接,||可以一次連接多個字符串,選擇t.PROVINCEID ||來自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。
3、由||連接除了字段和字段之間的字符串連接之外,還可以將方法連接到常量字符串選擇'省:'||來自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。
4、您還可以使用CONCAT函數(shù)連接到字符串,傳入函數(shù)字符串1和字符串2,兩個參數(shù)。參數(shù)的方式也支持常量字符串從T_BASE_PROVINCE t中選擇CONCAT(t.PROVINCEID,t.PROVINCE),其中t.id = 1。
5、如果要連接的字符串有兩個以上的參數(shù),如下例所示,則有4個字符串連接。運行后,測試發(fā)現(xiàn)異常,參數(shù)無效。從T_BASE_PROVINCE t中選擇CONCAT('省ID:',t.PROVINCEID,'?。?,t.PROVINCE),其中t.id = 1; -? ERROR ORA-00909:參數(shù)數(shù)量無效。
6、對于上述問題,如果連接參數(shù)大于2,則可以選擇CONCAT嵌套方法。從T_BASE_PROVINCE t中選擇CONCAT(CONCAT('省ID:',t.PROVINCEID),'?。?),t.PROVINCE),其中t.id = 1。
CREATE?TABLE?#test?(
ID????int,
name??varchar(10),
age???int
);
go
--?用于測試?樓主的原始數(shù)據(jù).
INSERT?INTO?#test
SELECT??1,?'tom',????22????UNION?ALL
SELECT??2,?'tom',????23????UNION?ALL
SELECT??3,?'tom',????24????UNION?ALL
SELECT??4,?'lily',???22????UNION?ALL
SELECT??5,?'lily',???23;
--?用于測試?年齡不是按照大小順序
INSERT?INTO?#test
SELECT??101,?'張三',????23????UNION?ALL
SELECT??102,?'張三',????22????UNION?ALL
SELECT??103,?'張三',????21;
GO
--?樓主的SQL
select?*?from?#test?where?ID?in(select?max(t.ID)?from?#test?t?group?by?t.NAME)
GO
ID??????????name???????age
-----------?----------?-----------
3?tom?????????????????24
5?lily????????????????23
103?張三??????????????????21
(3?行受影響)
--?方法1:
SELECT
*
FROM
#test?main
WHERE
NOT?EXISTS(?select?1?FROM?#test?sub?where?main.name=sub.name?AND?main.agesub.age);
GO
ID??????????name???????age
-----------?----------?-----------
3?tom?????????????????24
5?lily????????????????23
101?張三??????????????????23
(3?行受影響)
--?方法2:
select?*?from?#test?
where??name?+?'.'?+?CAST(age?as?char)?IN?(SELECT?name?+?'.'?+?CAST(MAX(age)?as?char)?FROM?#test?GROUP?by?name);
GO
ID??????????name???????age
-----------?----------?-----------
3?tom?????????????????24
5?lily????????????????23
101?張三??????????????????23
(3?行受影響)