本發(fā)明涉及信息安全技術領域,具體而言,涉及一種出生日期數據的脫敏方法及裝置。
背景技術:
目前,在業(yè)務生產系統中已經積累了海量的客戶出生日期等敏感數據??蛻舻某錾掌?以及含有出生日期的身份證號)是非常重要的隱私信息。如果這些數據泄漏,會給數據擁有者帶來經濟、乃至聲譽上的損失。因此,數據擁有者在使用客戶信息時,會對客戶的出生日期信息進行脫敏處理。
數據脫敏,又稱為數據漂白、數據去隱私化或數據變形,指對某些敏感信息通過脫敏規(guī)則進行數據的變形,實現敏感隱私數據的可靠保護。
現有技術中,在對客戶的生日進行脫敏時,常用的方法是固定替換,即將所有客戶的出生日期隨機替換為同一個固定的日期,這種方法使得所有客戶的生日日期都是同一天,在做統計時,不具有數據分析的價值,或者采取將所有客戶的出生日期進行隨機替換,變成另外一個出生日期,但是會使得得到的出生日期不合理,比如出生日期出現在未來的某一天。
綜上,現有的出生日期脫敏方法通常會造成失去出生日期本身所屬的年齡范圍的特點,從而在用于數據分析時價值不大的問題。
技術實現要素:
有鑒于此,本發(fā)明的目的在于提供一種出生日期數據的脫敏方法及裝置,以保留脫敏后的出生日期本身的屬性特點,保護客戶隱私的同時,不降低對數據分析的價值。
第一方面,本發(fā)明實施例提供了一種出生日期數據的脫敏方法,包括:
獲取待脫敏的出生日期和基準日期,所述基準日期晚于待脫敏的出生日期、且早于或等于當前日期;
根據待脫敏的出生日期與所述基準日期之間的第一間隔天數,從預存的多級區(qū)間段中,確定所述待脫敏的出生日期所屬的第一區(qū)間段,其中,不同的區(qū)間段對應不同的年齡范圍,同一區(qū)間段對應相同的年齡范圍;
按照預設的脫敏算法,確定該待脫敏的出生日期在所屬的所述第一區(qū)間段中對應的脫敏后的出生日期。
結合第一方面,本發(fā)明實施例提供了第一方面的第一種可能的實施方式,所述按照預設的脫敏算法,確定該待脫敏的出生日期在所屬的所述第一區(qū)間段中對應的脫敏后的出生日期,包括:
按照預設的脫敏算法,確定在該待脫敏的出生日期所屬的第一區(qū)間段中,所述脫敏后的出生日期相對所述基準日期的天數偏移量;
根據所述基準日期,以及所述脫敏后的出生日期相對所述基準日期的天數偏移量,確定所述脫敏后的出生日期。
結合第一方面的第一種可能的實施方式,本發(fā)明實施例提供了第一方面的第二種可能的實施方式,所述按照預設的脫敏算法,確定脫敏后的出生日期相對所述基準日期的天數偏移量,包括:
任取一個干擾值,所述干擾值為大于或等于0的任意整數;以及
根據所述第一間隔天數、和在所述第一區(qū)間段之前的區(qū)間段的區(qū)間長度,確定第二間隔天數;其中,所述第二間隔天數為所述第一間隔天數減去在所述第一區(qū)間段之前的各級區(qū)間段的區(qū)間長度之后的數;在所述第一區(qū)間段之前的區(qū)間段是指對應的間隔天數小于所述第一間隔天數的區(qū)間段;
根據所述第二間隔天數和所述干擾值,生成所述脫敏后的出生日期相對所述基準日期的天數偏移量。
結合第一方面的第二種可能的實施方式,本發(fā)明實施例提供了第一方面的第三種可能的實施方式,所述根據所述第二間隔天數和所述干擾值,生成所述脫敏后的出生日期相對所述基準日期的天數偏移量,包括:
將所述第二間隔天數對應的數值在目標進制下的每一位上的值,與所述干擾值在該目標進制下的相應位上的值進行和運算;
將所述和運算后的值與所述目標進制對應的進制數進行模運算,得到所述天數偏移量在所述相應位上的值;
將得到的所述天數偏移量在所述目標進制下的各個位上的值進行整合后,加上在所述第一區(qū)間段之前的各級區(qū)間段的區(qū)間長度,得到所述目標進制下的天數偏移量對應的數值。
結合第一方面的第三種可能的實施方式,本發(fā)明實施例提供了第一方面的第四種可能的實施方式,
當所述待脫敏的出生日期所屬的第一區(qū)間段是所述多級區(qū)間段的第一級區(qū)間段或第二級區(qū)間段時,所述目標進制為八進制,所述模運算為模八運算;
當所述待脫敏的出生日期所屬的第一區(qū)間段是所述多級區(qū)間段的第三級區(qū)間段時,所述目標進制為十六進制,所述模運算為模十六運算;
所述第一級區(qū)間段對應的所述第一間隔天數的范圍是大于或等于0且小于32768天,所述第二級區(qū)間段對應的所述第一間隔天數的范圍是大于或等于32768天且小于65536天,所述第三級區(qū)間段對應的所述第一間隔天數的范圍是大于或等于65536天且小于1048576天。
結合第一方面,本發(fā)明實施例提供了第一方面的第五種可能的實施方式,所述確定該待脫敏的出生日期在所屬的所述第一區(qū)間段中對應的脫敏后的出生日期之后,還包括:
獲取脫敏后的出生日期和所述基準日期,所述基準日期晚于脫敏后的出生日期;
根據所述脫敏后的出生日期與所述基準日期之間的第三間隔天數,從所述預存的多級區(qū)間段中,確定所述脫敏后的出生日期所屬的第二區(qū)間段;
按照預設的還原算法,確定該脫敏后的出生日期在所屬的所述第二區(qū)間段中對應的脫敏前的出生日期。
結合第一方面的第五種可能的實施方式,本發(fā)明實施例提供了第一方面的第六種可能的實施方式,所述按照預設的還原算法,確定該脫敏后的出生日期在所屬的所述第二區(qū)間段中對應的脫敏前的出生日期,包括:
根據預設的還原算法,確定在該脫敏后的出生日期所屬的第二區(qū)間段中,所述脫敏前的出生日期相對所述基準日期的天數偏移量;
根據所述基準日期,以及所述脫敏前的出生日期相對所述基準日期的天數偏移量,確定所述脫敏前的出生日期。
結合第一方面的第六種可能的實施方式,本發(fā)明實施例提供了第一方面的第七種可能的實施方式,所述按照預設的還原算法,確定脫敏前的出生日期相對所述基準日期的天數偏移量,包括:
根據所述第三間隔天數、和在所述第二區(qū)間段之前的區(qū)間段的區(qū)間長度,確定第四間隔天數;其中,所述第四間隔天數為所述第三間隔天數減去在所述第二區(qū)間段之前的各級區(qū)間段的區(qū)間長度之后的數;在所述第二區(qū)間段之前的區(qū)間段是指對應的間隔天數小于所述第三間隔天數的區(qū)間段;
根據所述第四間隔天數和選擇的一個干擾值,生成所述脫敏前的出生日期相對所述基準日期的天數偏移量;其中,所述一個干擾值為大于或等于0的整數。
第二方面,提供了一種出生日期的脫敏裝置,包括:
獲取模塊,用于獲取待脫敏的出生日期和基準日期,所述基準日期晚于待脫敏的出生日期、且早于或等于當前日期;
執(zhí)行模塊,用于根據待脫敏的出生日期與所述基準日期之間的第一間隔天數,從預存的多級區(qū)間段中,確定所述待脫敏的出生日期所屬的第一區(qū)間段,其中,不同的區(qū)間段對應不同的年齡范圍,同一區(qū)間段對應相同的年齡范圍;
確定模塊,按照預設的脫敏算法,確定該待脫敏的出生日期在所屬的所述第一區(qū)間段中對應的脫敏后的出生日期。
第三方面,本發(fā)明實施例提供了一種出生日期數據的脫敏方法,包括:
第一設備接收第二設備發(fā)送的待脫敏的出生日期集合和基準日期,所述待脫敏的出生日期集合中包含多個待脫敏的出生日期,所述基準日期晚于各個待脫敏的出生日期、且早于或等于當前日期;
根據每一個待脫敏的出生日期與所述基準日期之間的第一間隔天數,從預存的多級區(qū)間段中,確定該待脫敏的出生日期所屬的第一區(qū)間段,按照預設的脫敏算法,確定該待脫敏的出生日期在所屬的所述第一區(qū)間段中對應的脫敏后的出生日期;
將所述待脫敏的出生日期集合中的每一個待脫敏的出生日期對應的脫敏后的出生日期發(fā)送給所述第二設備。
本發(fā)明實施例提供的一種出生日期數據的脫敏方法及裝置,可以將待脫敏的出生日期脫敏成同區(qū)間段的出生日期,從而使得脫敏后的出生日期仍然在原有的出生日期所屬的年齡范圍,即保留了待脫敏的出生日期的原有的特定年齡范圍不變,既保護可客戶的隱私,又便于后續(xù)數據分析使用。
為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應被看作是對范圍的限定,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他相關的附圖。
圖1示出了本發(fā)明實施例1所提供的一種出生日期數據的脫敏方法的流程圖;
圖2示出了本發(fā)明實施例1所提供的一種確定出生日期數據的具體脫敏方法的流程圖;
圖3示出了本發(fā)明實施例1所提供的一種對脫敏后的出生日期數據進行還原的方法流程圖;
圖4示出了本發(fā)明實施例1所提供的一種對脫敏后的出生日期數據進行還原的具體方法流程圖;
圖5示出了本發(fā)明實施例所2提供的一種出生日期數據的脫敏裝置的結構示意圖;
圖6示出了本發(fā)明實施例3所提供的一種出生日期數據的脫敏方法流程圖;
圖7示出了本發(fā)明實施例3所提供的一種對脫敏后的出生日期數據進行還原的方法流程圖。
圖標:500-獲取模塊;501-執(zhí)行模塊;502-確定模塊。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例。基于本發(fā)明的實施例,本領域技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
實施例1
本發(fā)明實施例1提供了一種出生日期數據的脫敏方法,其流程圖如圖1所示,具體步驟如下所示:
s100,獲取待脫敏的出生日期和基準日期,該基準日期晚于待脫敏的出生日期、且早于或等于當前日期。
在待脫敏的出生日期進行脫敏處理時,一般將基準日期定位當天的日期。
s110,根據待脫敏的出生日期和基準日期之間的第一間隔天數,從預存的多級區(qū)間段中,確定該待脫敏的出生日期所屬的第一區(qū)間段,其中,不同的區(qū)間段對應不同的年齡范圍,同一區(qū)間段對應相同的年齡范圍。
通過以下過程對人口年齡特征進行分布:
世界衛(wèi)生組織2015年發(fā)布的《世界衛(wèi)生統計》中,指出今年來,全球人口平均壽命為71歲,其中女性73歲、男性68歲。其中在此次報告中的人口平均壽命為:男性74歲,女性77歲;美國的人口平均壽命為女性81歲、男性76歲。此外,女性的平均壽命最高的國際是日本(87歲),男性平均壽命最高的國家是冰島(81.2歲)。
我國于2010年進行了第六次全國人口普查,據國家統計局2011年4月28日分布公告,顯示中國總人口截止當時為1370536875。其中按年齡階段劃分為:
0-14歲人口為222459737,占16.60%;
15-59歲人口為939616410,占人口70.14%;
60歲及以上人口為177648705,占人口13.26%,其中65歲及以上人口為118831709人,占8.87%。
進一步的統計分析表明:
85歲及以上人口為7616148人,占總人口比例為0.5714%
89歲及以上人口為2699618人,占總人口比例為0.2026%;
100歲及以上人口為35934人,占總人口比例為0.0027%。
以上數據顯示,當前人類的平均壽命在71歲左右。65歲及以上的人口在一個國家中占據比例較小,而85歲、89歲及以上的人口在一個國家占據的比例極低。因此,我們在脫敏處理出生日期是,涉及到的大部分數據都應當使得年齡在85歲以下,而89歲以上的出生日期就更少了,因此,可以按照年齡的范圍,以基準日期為準,向前進行劃分區(qū)間。
本發(fā)明實施例中將待脫敏的出生日期劃分為三個區(qū)間段,劃分依據是:當待脫敏的出生日期距離基準日期的間隔天數所屬的范圍是大于或等于0天且小于32768天時為第一級區(qū)間段、所屬的范圍是大于32768天且小于65536天時為第二級區(qū)間段、所屬的范圍是大于或等于65536且小于1048576天時為第三個區(qū)間段,其中32768天略大于89年且小于90年,65536天大于179年且小于180年,1048576天大于2870年且小于2871年,比如當選擇的基準日期為2017年1月1日時,對應的第一級區(qū)間段代表的出生日期是晚于1927年4月16日且早于或等于2017年1月1日,第二級區(qū)間段代表的出生日期是晚于1837年7月28日且早于或等于1927年4月16日,第三級區(qū)間段代表的出生日期是晚于公元前854年2月6日且早于或等于1837年7月28日。特別的,當待脫敏的出生日期早于或等于公元前854年2月6日時,對其不進行脫敏。
其中,第一區(qū)間段并不是多級區(qū)間的第一級區(qū)間段,僅僅是為了敘述方便的稱號。
s120,按照預設的脫敏算法,確定該待脫敏的出生日期在所屬的第一區(qū)間段中對應的脫敏后的出生日期。
其中預設的脫敏算法,指為了使得脫敏后的出生日期與待脫敏的出生日期在同一個年齡范圍內而使用的一些公式算法,將在之后的實施例中進行詳細闡述。
在步驟s120中,具體確定步驟包括如下,其流程圖如圖2所示:
s200,按照預設的脫敏算法,確定在該待脫敏的出生日期所屬的第一區(qū)間段中,脫敏后的出生日期相對基準日期的天數偏移量。
s210,根據基準日期,以及脫敏后的出生日期相對基準日期的天數偏移量,確定脫敏后的出生日期。
其中天數偏移量,是指脫敏后的出生日期早于基準日期的具體天數。確定該具體天數的方法如下:
(1)任取一個干擾值,所述干擾值為大于0的任意整數。
(2)根據該第一間隔天數、和在第一區(qū)間段之前的區(qū)間段的區(qū)間長度,確定第二間隔天數;其中該第二間隔天數為第一間隔天數減去在第一區(qū)間段之前的各級區(qū)間段的區(qū)間長度之后的數;在第一區(qū)間段之前的區(qū)間段是指對應的間隔天數小于第一間隔天數的區(qū)間段。
(3)根據該第二間隔天數和上述干擾值,生成脫敏后的出生日期相對基準日期的天數偏移量。
在第(3)步中,具體包括:
將該第二間隔天數對應的數值在目標進制下的每一位上的值,與干擾值在該目標進制下的相應位上的值進行和運算。
將該和運算后的值與目標進制對應的進制數進行模mod運算,得到天數偏移量在相應位上的值。
其中模運算或者稱為mod運算,即求余運算,“?!笔恰癿od”的音譯。
將得到的天數偏移量在目標進制下的各個位上的值進行整合后,加上在第一區(qū)間段之前的各級區(qū)間段的區(qū)間長度,得到目標進制下的天數偏移量對應的數值。
其中,對目標進制和模運算的限定有以下規(guī)定:
當待脫敏的出生日期所屬的第一區(qū)間段是多級區(qū)間段的第一級區(qū)間段或第二級區(qū)間段時,上述目標進制為八進制,模運算為模八運算。
當待脫敏的出生日期所屬的第一區(qū)間段是多級區(qū)間段的第三級區(qū)間段時,上述目標進制為十六進制,模運算為模十六運算。
其中,第一級區(qū)間段對應的第一間隔天數的范圍是大于或等于0且小于或等于32768天,第二級區(qū)間段對應的第一間隔天數的范圍是大于32768天且小于65536天,第三級區(qū)間段對應的第一間隔天數的范圍是大于或等于65536天且小于1048576天。
一種較佳的實施方式,在本發(fā)明實施例1中提出,出生日期脫敏算法的主要過程描述如下:
1)檢查待脫敏的出生日期(oridate)、基準日期(refdate)和干擾值(key)的合法性,該合法性指出生日期早于基準日期,基準日期不晚于當天日期,key的值為大于或等于0的整數。
2)計算待脫敏的出生日期與基準日期的間隔天數,并記為第一間隔天數(nintervalday),nitervalday=refdate-oridate,顯然nintervalday的值大于等于0。
3)設置區(qū)間標志為nflag=nintervalday÷32768,nflag取整數部分。
當nflag=0時,則第一間隔天數大于或等于0天且小于32768天,將待脫敏的出生日期所屬的第一區(qū)間段記為第一級區(qū)間段;
當nflag=1時,則第一間隔天數大于或等于32768天且小于65536天,將待脫敏的出生日期所屬的第一區(qū)間段記為第二級區(qū)間段;
當1<nflag<32,且nflag取整數時,則第一間隔天數大于或等于65536天且小于1048576天,將待脫敏的出生日期所屬的第一區(qū)間段記為第三級區(qū)間段。
4)如果nflag等于0或者1時,執(zhí)行以下步驟:
4.1)計算第二間隔天數nintervalday’
nintervalday’=nintervalday-32768×nflag,即第二間隔天數取的是第一間隔天數減去第一區(qū)間段之前的各級區(qū)間段的區(qū)間長度之后的數,特別的,當nflag=0時,即待脫敏出生日期所屬的第一區(qū)間段為第一級區(qū)間內時,第二間隔天數等于第一間隔天數。
比如,第一間隔天數為36000天時,則nflag=1,則第二間隔天數為3232天;當第一間隔天數為30000天時,則nflag=0,則第二間隔天數也為30000天。
4.2)將nintervalday’和key轉化為目標進制數,此處以八進制數進行說明,分別用d1d2d3d4d5、k1k2k3k4k5表示,用di表示d1~d5,用ki表示k1~k5,(1≤i≤5)。其中選取八進制,是因為32768恰好為215,其換成八進制為100000,小于這個數的八進制數最大即為77777,恰好是五位八進制數,其中d1d2d3d4d5和k1k2k3k4k5表示小于五位八進制數77777的五位八進制數,當位數不夠五位時,在高位前補0。當干擾值key的取值大于五位的八進制數時,從低位至高位依次取前五位八進制數,將超過第五位的數剔除,比如當key的值為六位八進制數123456,則將key的值記為23456。下面將進行脫敏后的出生日期相對于基準日期的天數偏移量的計算過程:
4.3)按照以下規(guī)則逐位進行目標進制運算,其中進行模八運算,是為了使根據八進制數計算得到的數還是八進制數:
具體過程為:將該第二間隔天數對應的數值在八進制下的每一位上的值,與干擾值在該八進制下的相應位上的值進行和運算。
將該和運算后的值與八進制對應的進制數進行模mod運算,得到天數偏移量在相應位上的值,具體運算過程如下:
4.3.1)計算r5=(d5+k5)mod8,mod8表示模八運算;
4.3.2)計算r4=(((d4+k4)mod8)+r5)mod8;
4.3.3)計算r3=(((d3+k3)mod8)+r4)mod8;
4.3.4)計算r2=(((d2+k2)mod8)+r3)mod8;
4.3.5)計算r1=(((d1+k1)mod8)+r2)mod8。
將該和運算后的值與八進制對應的進制數進行模mod運算,得到天數偏移量在相應位上的值,r1r2r3r4r5,為了便于后續(xù)計算,將該八進制數通過以下公式換算成十進制數,用nres表示,nres=r1×84+r2×83+r3×82+r4×8+r5
根據下式計算脫敏后的出生日期相對于基準日期的天數偏移量:
nresday=nres+32768×nflag。
5)當1<nflag<32時,則第二間隔天數表示大于或等于65536天且1048576天,表示待脫敏出生日期所屬的第一區(qū)間段為第三級區(qū)間段。
5.1)令nflag=2,nintervalday’=nintervalday-32768×2;
5.2)將nintervalday’和干擾值key轉換為十六進制數,因為32768×32=220,比該數小的數都小于最大的五位十六進制數;用dx1dx2dx3dx4dx5、k1k2k3k4k5表示第二間隔天數和干擾值,其中dxi和ki(1≤i≤5),滿足0x0≤dxi≤0xf和0x0≤ki≤0xf,其中dx1dx2dx3dx4dx5和k1k2k3k4k5表示小于五位十六進制數fffff的五位十六進制數,當位數不夠五位時,在高位前進行補0,當干擾值key的取值大于五位的十六進制數時,從低位至高位依次取前五位十六進制數,將超過第五位的數剔除,比如當key的值為六位十六進制數123456,則將key的值記為23456。
5.3)按照以下規(guī)則逐位進行模十六運算:
5.3.1)計算r5=(d5+k5)mod16,mod16表示模十六運算;
5.3.2)計算r4=(((d4+k4)mod16)+r5)mod16;
5.3.3)計算r3=(((d3+k3)mod16)+r4)mod16;
5.3.4)計算r2=(((d2+k2)mod16)+r3)mod16;
5.3.5)計算r1=(((d1+k1)mod16)+r2)mod16。
5.3.6)將上述各個結果合并計算得到:
nres=r1×164+r2×163+r3×162+r4×16+r5
根據下式計算脫敏后的出生日期相對于基準日期的天數偏移量:
nresday=nres+32768×2
6)特別的當nflag>31時,令nresday=nintervalday,即當第一間隔天數大于1015715天時(1015715為31倍的32768天),則對該待脫敏出生日期不進行變換,直接將該待脫敏的出生日期記為脫敏后的出生日期作為脫敏結果。
7)根據得到的脫敏后的出生日期相對于基準日期的天數偏移量nresday,根據以下公式得到脫敏后的出生日期resdate:
resdate=refdate-nresday,及從基準日期往前數nresday天,得到脫敏后的出生日期。
在獲得脫敏后的出生日期后,還可以將脫敏后的出生日期還原成脫敏前的出生日期,其方法流程圖見圖3,具體步驟如下所示:
s300,獲取脫敏后的出生日期和基準日期,基準日期晚于脫敏后的出生日期。
該脫敏日期與脫敏過程中的基準日期應保持一致,即該基準日期同樣晚于脫敏后的出生日期,且早于或等于當前日期。
s310,根據脫敏后的出生日期與基準日期之間的第三間隔天數,從預存的多級區(qū)間段中,確定脫敏后的出生日期所屬的第二區(qū)間段。
其中第三間隔天數在此代表脫敏后的出生日期與基準日期之間的差值,第二區(qū)間段僅僅是泛指該脫敏后的出生日期所在的區(qū)間,并不是具體哪個區(qū)間。
s320,按照預設的還原算法,確定該脫敏后的出生日期在所屬的第二區(qū)間段中對應的脫敏前的出生日期。
在步驟s320中,具體確定步驟包括如下,其流程圖如圖4所示:
s400,按照預設的還原算法,確定在該脫敏后的出生日期所屬的第二區(qū)間段中,脫敏前的出生日期相對基準日期的天數偏移量。
s410,根據基準日期,以及脫敏前的出生日期相對基準日期的天數偏移量,確定脫敏前的出生日期。
其中天數偏移量,是指脫敏前的出生日期早于基準日期的具體天數。確定該具體天數的方法如下:
(1)根據第三間隔天數、和在第二區(qū)間段之前的區(qū)間段的區(qū)間長度,確定第四間隔天數;其中,第四間隔天數為第三間隔天數減去在第二區(qū)間段之前的各級區(qū)間段的區(qū)間長度之后的數;在第二區(qū)間段之前的區(qū)間段是指對應的間隔天數小于第三間隔天數的區(qū)間段。
(2)根據第四間隔天數和選擇的一個干擾值,生成脫敏前的出生日期相對基準日期的天數偏移量;其中,這一個干擾值為大于或等于0的整數。
對每一個脫敏后的出生日期進行還原時,干擾值與得到該脫敏后的出生日期的脫敏過程中的干擾值是同一個值,比如,待脫敏的出生日期a在脫敏后變?yōu)槿掌赽,在此過程中,干擾值為c,則在日期b還原為出生日期a的過程中,干擾值也為c。或者,同一批次對一組待脫敏的出生日期進行脫敏處理得到對應的一組脫敏后的出生日期,在此過程中的干擾值為a,則在對這一組脫敏后的出生日期進行還原時,選用的干擾值也應該為a。
在第(2)步中,具體包括:
將第四間隔天數對應的數值在目標進制下的每一位上的值,與該干擾值在該目標進制下的相應位上的值進行差運算;
將差運算后的值與目標進制對應的進制數進行摸mod運算,得到天數偏移量在相應位上的值;
將得到的天數偏移量在目標進制下的各個位上的值進行整合后,加上在第二區(qū)間段之前的各級區(qū)間段的區(qū)間長度,得到目標進制下的天數偏移量對應的數值。
其中,對目標進制和模運算的限定有以下規(guī)定:
當脫敏后的出生日期所屬的第二區(qū)間段是多級區(qū)間段的第一級區(qū)間段或第二級區(qū)間段時,上述目標進制為八進制,模運算為模八運算。
當脫敏后的出生日期所屬的第二區(qū)間段是多級區(qū)間段的第三級區(qū)間段時,上述目標進制為十六進制,模運算為模十六運算。
其中,第一級區(qū)間段對應的第三間隔天數的范圍是大于或等于0且小于32768天,第二級區(qū)間段對應的第三間隔天數的范圍是大于或等于32768天且小于65536天,第三級區(qū)間段對應的第三間隔天數的范圍是大于或等于65536天且小于1048576天。
一種較佳的實施方式,在本發(fā)明實施例1中提出,出生日期脫還原法的主要過程描述如下
1)檢查脫敏后的出生日期(resdate)、基準日期(refdate)和干擾值(key)的合法性,該合法性指該已出生日期早于基準日期,基準日期不晚于當天日期,key的值為大于或等于0的整數。
2)計算脫后敏的出生日期與基準日期的間隔天數,并記為第三間隔天數(nintervalday),nitervalday=refdate-oridate,顯然nintervalday的值大于等于0。
3)設置區(qū)間標志為nflag=nintervalday÷32768,nflag取整數部分。
當nflag=0時,則第三間隔天數大于或等于0天且小于32768天,將脫敏后的出生日期所屬的第二區(qū)間段記為第一級區(qū)間段;
當nflag=1時,則第三隔天數大于或等于32768天且小于65536天,將脫敏后的出生日期所屬的第二區(qū)間段記為第二個區(qū)間;
當1<nflag<32,且nflag取整數時,則第三間隔天數大于或等于65536天且小于1048576天,將脫敏后的出生日期所屬的第二區(qū)間段記為第三個區(qū)間。
4)如果nflag等于0或者1時,執(zhí)行以下步驟:
4.1)計算第四間隔天數nintervalday’
nintervalday’=nintervalday-32768×nflag,即第四間隔天數取的是第三間隔天數減去第二區(qū)間段之前的各級區(qū)間段的區(qū)間長度之后的數,特別的,當nflag=0時,即脫敏后出生日期所屬的第三區(qū)間在第一個區(qū)間內時,第四間隔天數等于第三間隔天數。
比如,第三間隔天數為36000天時,則nflag=1,則第四間隔天數為3232天;當第三間隔天數為30000天時,則nflag=0,則第三間隔天數也為30000天。
4.2)將nintervalday’和key轉化為目標進制數,此處以八進制數進行說明,分別用r1r2r3r4r5、k1k2k3k4k5表示,用ri表示r1~r5,用ki表示k1~k5,(1≤i≤5),其中選取八進制,是因為32768恰好為215,其換成八進制為100000,小于這個數的八進制數最大即為77777,恰好是五位八進制數,其中r1r2r3r4r5和k1k2k3k4k5表示小于八進制數77777的五位八進制數,當位數不夠五位時,在高位前補0,當干擾值key的取值大于五位的八進制數時,從低位至高位依次取前五位八進制數,將超過第五位的數剔除,比如當key的值為六位八進制數123456,則將key的值記為23456。下面將進行脫敏前的出生日期相對于基準日期的天數偏移量的計算過程:
4.3)按照以下規(guī)則逐位進行目標進制運算,其中進行模八運算,是為了使根據八進制數計算得到的數還是八進制數:
具體過程為:將該第四間隔天數對應的數值在八進制下的每一位上的值,與干擾值在該八進制下的相應位上的值進行差運算。
將該差運算后的值與八進制對應的進制數進行模mod運算,得到天數偏移量在相應位上的值,具體運算過程如下:
4.3.1)計算d5=(r5-k5)mod8,mod8表示模八運算;
4.3.2)計算d4=(((r4-r5)mod8)-k4)mod8;
4.3.3)計算d3=(((r3-r4)mod8)-k3)mod8;
4.3.4)計算d2=(((r2-r3)mod8)-k2)mod8;
4.3.5)計算d1=(((r1-r2)mod8)-k1)mod8。
將該差運算后的值與八進制對應的進制數進行模mod運算,得到天數偏移量在相應位上的值,d1d2d3d4d5,為了便于后續(xù)計算,將該八進制數通過以下公式換算成十進制數,用nint表示,nint=d1×84+d2×83+d3×82+d4×8+d5;
根據下式計算脫敏前的出生日期相對于基準日期的天數偏移量:
nnewintday=nint+32768×nflag。
5)當1<nflag<32時,則第四間隔天數表示大于或等于65536天且小于1048576天,表示脫敏后出生日期所屬的第三區(qū)間為第三級區(qū)間。
5.1)令nflag=2,nintervalday’=nintervalday-32768×2;
5.2)將nintervalday’和(key×0x1f)轉換為十六進制數,因為32768×32=220,比該數小的數都小于最大的五位十六進制數;用rx1rx2rx3rx4rx5、k1k2k3k4k5表示第四間隔天數和干擾值,其中rxi和ki(1≤i≤5),滿足0x0≤rxi≤0xf和0x0≤ki≤0xf,其中rx1rx2rx3rx4rx5和k1k2k3k4k5表示小于五位十六進制數fffff的五位十六進制數,當位數不夠時,在高位前補0,當干擾值key的取值大于五位的八進制數時,從低位至高位依次取前五位八進制數,將超過第五位的數剔除,比如當key的值為六位八進制數123456,則將key的值記為23456。
5.3)按照以下規(guī)則逐位進行模十六運算:
5.3.1)計算d5=(rx5-k5)mod16,mod16表示模十六運算;
5.3.2)計算d4=(((rx4-rx5)mod16)-k4)mod16;
5.3.3)計算d3=(((rx3-rx4)mod16)-k3)mod16;
5.3.4)計算d2=(((rx2-rx3)mod16)-k2)mod16;
5.3.5)計算d1=(((rx1-rx2)mod16)-k1)mod16。
5.3.6)將上述各個結果合并計算得到:
nint=d1×164+d2×163+d3×162+d4×16+d5
根據下式計算脫敏前的出生日期相對于基準日期的天數偏移量:
nnewintday=nint+32768×2
6)特別的當nflag>31時,令nnewintday=nintervalday,即當第一間隔天數大于1015808天(1015808天為31倍的32768天)時,則對該脫敏后出生日期不進行還原變換,直接將該脫敏后出生日期記為脫敏前的出生日期,并作為還原結果。
7)根據得到的脫敏前的出生日期相對于基準日期的天數偏移量nnewintday,根據以下公式得到脫敏前的出生日期oridate:
oridate=refdate-nnewintday,及從基準日期往前數nnewintday天,得到脫敏前的出生日期。
以下是上述出生日期的脫敏過程和還原過程中涉及到的模八運算的可逆證明:
輸入:脫敏算法中nintervalday和key,分別用d1d2d3d4d5、k1k2k3k4k5表示,其中di和ki(1≤i≤5)表示各個數位上的數字,滿足0≤di≤7和0≤ki≤7(為八進制數);
輸出:nres
nres用八進制數r1r2r3r4r5表示,其中ri(1≤i≤5)表示各個數位上的數字,滿足0≤ri≤7和0≤ki≤7
根據出生日期脫敏算法4.3)計算過程均采用八進制運算:
4.3.1)計算r5=(d5+k5)mod8,mod8表示模八運算;
4.3.2)計算r4=(((d4+k4)mod8)+r5)mod8;
4.3.3)計算r3=(((d3+k3)mod8)+r4)mod8;
4.3.4)計算r2=(((d2+k2)mod8)+r3)mod8;
4.3.5)計算r1=(((d1+k1)mod8)+r2)mod8。
可以總結為(均采用八進制數運算):
而在出生日期還原算法4.3)中,有:
4.3.1)計算d5=(r5-k5)mod8,mod8表示模八運算;
4.3.2)計算d4=(((r4-r5)mod8)-k4)mod8;
4.3.3)計算d3=(((r3-r4)mod8)-k3)mod8;
4.3.4)計算d2=(((r2-r3)mod8)-k2)mod8;
4.3.5)計算d1=(((r1-r2)mod8)-k1)mod8。
同樣可以總結為:
當i=5時,
d5=(r5-k5)mod8
和當0<i<5時(均采用八進制運算):
di=(((ri-ri+1)mod8)-ki)mod8
=(ri-ri+1-ki)mod8(**)
將(**)式代入(*)式,則有:
因為0≤di≤7,所以(***)式證明了該算法是可逆的。
出生日期的脫敏過程和還原過程中涉及到的模十六運算的可逆證明也可以根據上述方法得到,在此不再贅述。
下面以一實時例,具體闡述脫敏一個出生日期的方法:
1)獲取待脫敏的出生日期2000.04.01日,基準日期2017.04.01日。
2)根據待脫敏的出生日期和基準日期之間的第一間隔天數6209天,因為6209<32767,確定該待脫敏的出生日期所屬的區(qū)間段為第一個區(qū)間,第二間隔天數等于第一間隔天數6209天,將6209換成八進制數為14101,該第二間隔天數為一個五位八進制數,任取一個五位八進制的干擾值52733,然后按照以下公式計算天數偏移量對應的數值r1r2r3r4r5的每一位值:
r5=(1+3)mod8=4;
r4=(((0+3)mod8)+4)mod8=7;
r3=(((1+7)mod8)+7)mod8=7;
r2=(((4+2)mod8)+7)mod8=5;
r1=(((1+5)mod8)+5)mod8=3。
3)將得到的r1r2r3r4r5=35774轉換成十進制數:
nres=3×84+5×83+7×82+7×8+4=15356;則脫敏后的出生日期相對于基準日期的天數偏移量nresday為15356+0=15356天。
4)脫敏后的出生日期resdate等于從2017.04.01開始往前數15356天,得到脫敏后的出生日期為1975年3月17日。
下面是對上述脫敏后的出生日期進行還原得到脫敏前的出生日期的具體方法:
1)獲取脫敏后的出生日期1975.03.17日,基準日期2017.04.01日。
2)根據脫敏后的出生日期與基準日期之間的第一間隔天數15356天,因為15356<32767,確定該脫敏后的,出生日期所屬的區(qū)間段為第一個區(qū)間,第二間隔天數等于第一間隔天數15356,將15356換成八進制數為35774,該第二間隔天數為一個五位八進制數,取脫敏過程中的干擾值52733,然后按照以下公式計算天數偏移量對應的數值r1r2r3r4r5的每一位值:
d5=(4-3)mod8=1;
d4=(((7-4)mod8)-3)mod8=0;
d3=(((7-7)mod8)-7)mod8=1;
d2=(((5-7)mod8)-2)mod8=4;
d1=(((3-5)mod8)-5)mod8=1;
3)將得到的d1d2d3d4d5=14101轉換成十進制數:
nres=1×84+4×83+1×82+0×8+1=6209;則脫敏前的出生日期相對于基準日期的天數偏移量nresday為6209+0=6209天。
4)脫敏前的出生日期resdate等于從2017.04.01開始往前數6209天,得到還原后的出生日期為2000年4月1日。
實施例2
本發(fā)明實施例2提供了一種出生日期數據的脫敏裝置,如圖5所示,包括:獲取模塊500,執(zhí)行模塊501和確定模塊502。
其中,獲取模塊500,用于獲取待脫敏的出生日期和基準日期,該基準日期晚于待脫敏日期、且早于或等于當前日期。
執(zhí)行模塊501,用于根據待脫敏的出生日期與基準日期之間的第一間隔天數,從預存的多級區(qū)間段中,確定待脫敏的出生日期所屬的第一區(qū)間段,其中,不同的區(qū)間段對應不同的年齡范圍,同一區(qū)間段對應相同的年齡范圍。
確定模塊502,按照預設的脫敏算法,確定該待脫敏的出生日期在所屬的第一區(qū)間段中對應的脫敏后的出生日期。
其中,確定模塊502,具體用于按照預設的脫敏算法,確定在該待脫敏的出生日期所屬的第一區(qū)間段中,脫敏后的出生日期相對基準日期的天數偏移量。根據基準日期,以及脫敏后的出生日期相對基準日期的天數偏移量,確定脫敏后的出生日期。
確定模塊502,具體用于任取一個干擾值,所述干擾值為大于或等于0的任意整數;以及根據第一間隔天數、和在第一區(qū)間段之前的區(qū)間段的區(qū)間長度,確定第二間隔天數;其中,第二間隔天數為第一間隔天數減去第一區(qū)間段之前的各級區(qū)間段的區(qū)間長度之后的數;在第一區(qū)間段之前的區(qū)間段是指對應的區(qū)間天數小于第一間隔天數的區(qū)間段;根據第二間隔天數和上述干擾值,生成脫敏后的出生日期相對基準日期的天數偏移量。
確定模塊502,具體用于將第二間隔天數對應的數值在目標進制下的每一位上的值,與干擾值在該目標進制下的相應位上的值進行和運算;將和運算后的值與目標進制對應的進制數進行模運算,得到天數偏移量在相應位上的值;將得到的天數便宜量在目標進制下的各個位上的值進行整合后,加上在第一區(qū)間段之前的各級區(qū)間段的區(qū)間長度,得到目標進制下的天數偏移量對應的數值。
其中,確定模塊502將根據以下規(guī)定對目標進制和模運算進行限定:
當待脫敏的出生日期所屬的第一區(qū)間段是多級區(qū)間段的第一級區(qū)間段或第二級區(qū)間段時,上述目標進制為八進制,模運算為模八運算。
當待脫敏的出生日期所屬的第一區(qū)間段是多級區(qū)間段的第三級區(qū)間段時,上述目標進制為十六進制,模運算為模十六運算。
其中,第一級區(qū)間段對應的第一間隔天數的范圍是大于或等于0且小于或等于32768天,第二級區(qū)間段對應的第一間隔天數的范圍是大于32768天且小于65536天,第三級區(qū)間段對應的第一間隔天數的范圍是大于或等于65536天且小于1048576天。
其中,確定模塊502執(zhí)行脫敏算法的過程,詳見實施例1中提到的脫敏算法的過程,在此不再贅述。
獲取模塊500,還用于獲取脫敏后的出生日期和基準日期。
執(zhí)行模塊501,還用于根據脫敏后的出生日期與基準日期之間的第三間隔天數,從預存的多級區(qū)間段中,確定脫敏后的出生日期所屬的第三區(qū)間長度。
確定模塊502,按照預設的還原算法,確定該脫敏后的出生日期在所屬的第二區(qū)間段中對應的脫敏前的出生日期。
確定模塊502,具體用于按照預設的還原算法,確定在該脫敏后的出生日期所屬的第二區(qū)間段中,脫敏前的出生日期相對基準日的天數便宜量;根據基準日期,以及脫敏前的出生日期相對基準日期的天數偏移量,確定脫敏前的出生日期。
確定模塊502,具體用于根據第三間隔天數、和在第二區(qū)間段之前的區(qū)間段的區(qū)間長度,確定第四間隔天數;其中,第四間隔天數為第三間隔天數減去在第三區(qū)間之前的區(qū)間段是指對應的間隔天數小于第三間隔天數的區(qū)間段;根據第四間隔天數和選擇的一個干擾值,生成脫敏前的出生日期相對基準日期的天數偏移量;其中,上述一個干擾值為大于或等于0的整數。
確定模塊502,具體用于將第四間隔天數對應的數值在目標進制下的每一位上的值,與干擾值在該目標進制下的相應位上的值進行差運算;將差運算后的值與目標進制對應的進制數進行摸mod運算,得到天數偏移量在相應位上的值;將得到的天數偏移量在目標進制下的各個位上的值進行整合后,加上在第二區(qū)間段之前的各級區(qū)間段的區(qū)間長度,得到目標進制下的天數偏移量對應的數值。
確定模塊502對每一個脫敏后的出生日期進行還原時,干擾值與得到該脫敏后的出生日期的脫敏過程中的干擾值是同一個值,比如,待脫敏的出生日期a在脫敏后變?yōu)槿掌赽,在此過程中,干擾值為c,則在日期b還原為出生日期a的過程中,干擾值也為c?;蛘撸慌螌σ唤M待脫敏的出生日期進行脫敏處理得到對應的一組脫敏后的出生日期,在此過程中的干擾值為a,則在對這一組脫敏后的出生日期進行還原時,選用的干擾值也應該為a。
其中,確定模塊502將根據以下規(guī)定對目標進制和模運算進行限定:
當脫敏后的出生日期所屬的第二區(qū)間段是多級區(qū)間段的第一級區(qū)間段或第二級區(qū)間段時,上述目標進制為八進制,模運算為模八運算。
當脫敏后的出生日期所屬的第二區(qū)間段是多級區(qū)間段的第三級區(qū)間段時,上述目標進制為十六進制,模運算為模十六運算。
其中,第一級區(qū)間段對應的第三間隔天數的范圍是大于或等于0且小于32768天,第二級區(qū)間段對應的第三間隔天數的范圍是大于或等于32768天且小于65536天,第三級區(qū)間段對應的第三間隔天數的范圍是大于或等于65536天且小于1048576天。
其中,確定模塊502執(zhí)行還原算法的過程,詳見實施例1中提到的還原算法的過程,在此不再贅述。
實施例3
本發(fā)明實施例3提供了一種出生日期數據的脫敏方法,其流程圖見圖6所示,具體步驟如下:
s600,第一設備接收第二設備發(fā)送的待脫敏的出生日期集合和基準日期,該待脫敏的出生日期集合中包含多個待脫敏的出生日期,基準日期晚于各個待脫敏的出生日期,且早于或等于當前日期。
其中第一設備和第二設備為計算機、平板或者其他智能設備。
s610,根據每一個待脫敏的出生日期與基準日期之間的第一間隔天數,從預存的多級區(qū)間段中,確定該待脫敏的出生日期所屬的第一區(qū)間段,按照預設的脫敏算法,確定該待脫敏的出生日期在所屬的第一區(qū)間段中對應的脫敏后的出生日期。
s620,將待脫敏的出生日期集合中的每一個待脫敏的出生日期對應的脫敏后的出生日期發(fā)送給所述第二設備。
在步驟s610中,具體包括以下步驟:
按照預設的脫敏算法,確定在該待脫敏的出生日期所屬的第一區(qū)間段中,脫敏后的出生日期相對基準日期的天數偏移量。
根據基準日期,以及脫敏后的出生日期相對基準日期的天數偏移量,確定脫敏后的出生日期。
其中,確定該天數偏移量,包括:
(1)任取一個干擾值,該干擾值為大于或等于0的任意整數。
(2)根據第一間隔天數、和在第一區(qū)間段之前的區(qū)間段的區(qū)間長度,確定第二間隔天數;其中,第二間隔天數為第一間隔天數減去在第一區(qū)間段之前的各級區(qū)間段的區(qū)間長度之后的數;在第一區(qū)間段之前的區(qū)間段是指對應的間隔天數小于第一間隔天數的區(qū)間段;
(3)根據第二間隔天數和選擇的干擾值,生成脫敏后的出生日期相對基準日期的天數偏移量。
在步驟(3)中,具體包括:
將第二間隔天數對應的數值在目標進制下的每一位上的值,與干擾值在該目標進制下的相應位上的值進行和運算。
將和運算后的值與目標進制對應的進制數進行模mod運算,得到天數偏移量在相應位上的值。
將得到的天數偏移量在目標進制下的各個位上的值進行整合后,加上在第一區(qū)間段之前的各級區(qū)間段的區(qū)間長度,得到目標進制下的天數偏移量對應的數值。
其中,對目標進制和模運算的限定有以下規(guī)定:
當待脫敏的出生日期所屬的第一區(qū)間段是多級區(qū)間段的第一級區(qū)間段或第二級區(qū)間段時,上述目標進制為八進制,模運算為模八運算。
當待脫敏的出生日期所屬的第一區(qū)間段是多級區(qū)間段的第三級區(qū)間段時,上述目標進制為十六進制,模運算為模十六運算。
其中,第一級區(qū)間段對應的第一間隔天數的范圍是大于或等于0且小于或等于32768天,第二級區(qū)間段對應的第一間隔天數的范圍是大于32768天且小于65536天,第三級區(qū)間段對應的第一間隔天數的范圍是大于或等于65536天且小于1048576天。
其中,具體執(zhí)行脫敏算法的過程,詳見實施例1中提到的脫敏算法的過程,在此不再贅述。
對待脫敏的出生日期進行脫敏后,還包括對脫敏后的出生日期進行還原,其流程圖如圖7所示,具體步驟如下:
s700,第一設備接收第二設備發(fā)送的脫敏后的出生日期集合和基準日期,該脫敏后的出生日期集合中包含多個脫敏后的出生日期,基準日期晚于各個脫敏后的出生日期、且早于或等于當前日期。
s710,根據每一個脫敏后的出生日期與基準日期之間的第三間隔天數,從預存的多級區(qū)間段中,確定該脫敏后的出生日期所屬的第二區(qū)間段,按照預設的還原算法,確定該脫敏后的出生日期在所屬的第二區(qū)間段中對應的脫敏前的出生日期。
s720,將脫敏后的出生日期集合中的每一個脫敏后的出生日期對應的脫敏前的出生日期發(fā)送給第二設備。
在步驟s710中,具體包括以下步驟:
按照預設的還原算法,確定在該脫敏后的出生日期所屬的第二區(qū)間段中,脫敏前的出生日期相對基準日期的天數偏移量;
根據基準日期,以及脫敏前的出生日期相對基準日期的天數偏移量,確定脫敏前的出生日期。
其中,確定該天數偏移量,包括:
(1)根據第三間隔天數、和在第二區(qū)間段之前的區(qū)間段的區(qū)間長度,確定第四間隔天數;其中,第四間隔天數為第三間隔天數減去在第二區(qū)間段之前的各級區(qū)間段的區(qū)間長度之后的數;在第二區(qū)間段之前的區(qū)間段是指對應的間隔天數小于所述第三間隔天數的區(qū)間段;
(2)根據第四間隔天數和選擇的一個干擾值,生成脫敏前的出生日期相對所述基準日期的天數偏移量;其中,上述一個干擾值為大于或等于0的整數。
對每一個脫敏后的出生日期進行還原時,干擾值與得到該脫敏后的出生日期的脫敏過程中的干擾值是同一個值,比如,待脫敏的出生日期a在脫敏后變?yōu)槿掌赽,在此過程中,干擾值為c,則在日期b還原為出生日期a的過程中,干擾值也為c?;蛘撸慌螌σ唤M待脫敏的出生日期進行脫敏處理得到對應的一組脫敏后的出生日期,在此過程中的干擾值為a,則在對這一組脫敏后的出生日期進行還原時,選用的干擾值也應該為a。
在步驟(2)中,具體包括:
將第四間隔天數對應的數值在目標進制下的每一位上的值,與干擾值在該目標進制下的相應位上的值進行差運算;
將差運算后的值與目標進制對應的進制數進行摸mod運算,得到天數偏移量在所述相應位上的值;
將得到的天數偏移量在所述目標進制下的各個位上的值進行整合后,加上在第二區(qū)間段之前的各級區(qū)間段的區(qū)間長度,得到目標進制下的天數偏移量對應的數值。
其中,對目標進制和模運算的限定有以下規(guī)定:
當脫敏后的出生日期所屬的第二區(qū)間段是多級區(qū)間段的第一級區(qū)間段或第二級區(qū)間段時,上述目標進制為八進制,模運算為模八運算。
當脫敏后的出生日期所屬的第二區(qū)間段是多級區(qū)間段的第三級區(qū)間段時,上述目標進制為十六進制,模運算為模十六運算。
其中,第一級區(qū)間段對應的第三間隔天數的范圍是大于或等于0且小于32768天,第二級區(qū)間段對應的第三間隔天數的范圍是大于或等于32768天且小于65536天,第三級區(qū)間段對應的第三間隔天數的范圍是大于或等于65536天且小于1048576天。
其中,具體執(zhí)行還原算法的過程,詳見實施例1中提到的還原算法的過程,在此不再贅述。
基于上述分析可知,與相關技術中的出生日期數據的脫敏方法相比,可以將待脫敏的出生日期脫敏成同區(qū)間段的出生日期,從而使得脫敏后的出生日期仍然在原有的出生日期所屬的年齡范圍,即保留了待脫敏的出生日期的原有特定年齡范圍不變,既保護可客戶的隱私,又便于后續(xù)數據分析使用。
本發(fā)明實施例所提供的進行出生日期數據的脫敏方法及裝置的計算機程序產品,包括存儲了程序代碼的計算機可讀存儲介質,所述程序代碼包括的指令可用于執(zhí)行前面方法實施例中所述的方法,具體實現可參見方法實施例,在此不再贅述。
本發(fā)明實施例所提供的出生日期的脫敏的裝置可以為設備上的特定硬件或者安裝于設備上的軟件或固件等。本發(fā)明實施例所提供的裝置,其實現原理及產生的技術效果和前述方法實施例相同,為簡要描述,裝置實施例部分未提及之處,可參考前述方法實施例中相應內容。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,前述描述的系統、裝置和單元的具體工作過程,均可以參考上述方法實施例中的對應過程,在此不再贅述。
在本發(fā)明所提供的實施例中,應該理解到,所揭露裝置和方法,可以通過其它的方式實現。以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,又例如,多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發(fā)明提供的實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
所述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋,此外,術語“第一”、“第二”、“第三”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。
最后應說明的是:以上所述實施例,僅為本發(fā)明的具體實施方式,用以說明本發(fā)明的技術方案,而非對其限制,本發(fā)明的保護范圍并不局限于此,盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,其依然可以對前述實施例所記載的技術方案進行修改或可輕易想到變化,或者對其中部分技術特征進行等同替換;而這些修改、變化或者替換,并不使相應技術方案的本質脫離本發(fā)明實施例技術方案的精神和范圍。都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應所述以權利要求的保護范圍為準。