本發明屬于數據加密,具體涉及一種標識數據加密交互方法、系統、終端及存儲介質。
背景技術:
1、工業互聯網標識解析體系通過條形碼、二維碼、無線射頻識別標簽等方式賦予物品唯一身份。標識解析技術是指將對象標識映射至實際信息服務所需的信息的過程,如地址、物品、空間位置等。例如,通過對某物品的標識進行解析,可獲得存儲其關聯信息的服務器地址。標識解析是在復雜網絡環境中,能夠準確而高效地獲取對象標識對應信息的“信息轉變”的技術過程。標識解析技術最初的應用主要是解決生產者對所?生產產品的管理,近些年標識技術廣泛應用在藥品、食品的安全追溯領域。但針對標識技術應用的市場自發推動力量不足,這其中核心的原因是標識解析技術所對應的信息價值沒有被挖掘出來。
2、在一些應用場景中,標識解析依賴標識碼與文字數據之間的映射。隨著萬物互聯的發展,跨系統的標識解析是必要的,這就需要對標識映射進行同步。然而普通的數據交互方法可能導致標識映射被篡改,導致標識映射不同步,最終標識解析出現誤差。
技術實現思路
1、針對現有技術的上述不足,本發明提供一種標識數據加密交互方法、系統、終端及存儲介質,以解決上述技術問題。
2、第一方面,本發明提供一種標識數據加密交互方法,包括:
3、監控標識映射庫的數據更新,對新增的標識映射作為原始數據進行哈希運算,得到哈希值,所述標識映射用于將標識解析為文字數據;
4、利用sm2私鑰對所述哈希值進行加密,生成數字簽名;
5、將原始數據、數字簽名和sm2公鑰通過安全通信協議發送至接收方;
6、接收方基于sm2公鑰對所述數字簽名進行解密得到驗證哈希值,利用所述驗證哈希值對接收的原始數據進行驗證,并在驗證通過后保存至自身的標識映射庫。
7、在一個可選的實施方式中,監控標識映射庫的數據更新,對新增的標識映射作為原始數據進行哈希運算,得到哈希值,所述標識映射用于將標識解析為文字數據,包括:
8、將新建標識映射緩存至臨時列表;
9、查詢標識映射庫中是否存在所述新建標識映射完全相同的映射,若存在完全相同的映射則將所述新建標識映射從臨時列表清除;
10、查詢標識映射庫中是否存在所述新建標識映射的匹配映射,所述匹配映射的文字數據或標識碼任一項與所述新建標識映射相同,若存在匹配映射則用所述新建標識映射替換所述匹配映射,若不存在匹配映射則將所述新建標識映射保存至標識映射庫;
11、將保存至標識映射庫中的新建標識映射作為原始數據,對所述原始數據進行預處理,所述預處理包括格式化處理和編碼處理;
12、對預處理后的原始數據進行哈希運算,得到哈希值。
13、在一個可選的實施方式中,利用sm2私鑰對所述哈希值進行加密,生成數字簽名,包括:
14、預先基于openssl生成sm2算法的公鑰私鑰對,將所述公鑰私鑰對保存至秘鑰保存組件中;
15、從秘鑰保存組件調取私鑰,并利用所述私鑰和?sm2加密算法對所述哈希值進行加密,生成數字簽名。
16、在一個可選的實施方式中,接收方基于sm2公鑰對所述數字簽名進行解密得到驗證哈希值,利用所述驗證哈希值對接收的原始數據進行驗證,并在驗證通過后保存至自身的標識映射庫,包括:
17、接收方利用接收的sm2公鑰對數字簽名進行解密,得到驗證哈希值;
18、接收方對接收的原始數據進行哈希運算,得到實際哈希值;
19、接收方比對實際哈希值與所述驗證哈希值是否一致,若兩者一致則判定所述原始數據通過驗證,若兩者不一致則判定所述原始數據未通過驗證并舍棄所述原始數據;
20、接收方判斷自身的標識映射庫中是否存在所述原始數據的匹配映射,所述匹配映射的文字數據或標識碼任一項與所述原始數據相同,若存在匹配映射則用所述原始數據替換所述匹配映射,若不存在匹配映射則將所述原始數據保存至標識映射庫。
21、第二方面,本發明提供一種標識數據加密交互系統,包括:
22、哈希運算模塊,用于監控標識映射庫的數據更新,對新增的標識映射作為原始數據進行哈希運算,得到哈希值,所述標識映射用于將標識解析為文字數據;
23、簽名生成模塊,用于利用sm2私鑰對所述哈希值進行加密,生成數字簽名;
24、數據發送模塊,用于將原始數據、數字簽名和sm2公鑰通過安全通信協議發送至接收方;
25、數據接收模塊,用于接收方基于sm2公鑰對所述數字簽名進行解密得到驗證哈希值,利用所述驗證哈希值對接收的原始數據進行驗證,并在驗證通過后保存至自身的標識映射庫。
26、在一個可選的實施方式中,所述哈希運算模塊包括:
27、數據緩存單元,用于將新建標識映射緩存至臨時列表;
28、數據清除單元,用于查詢標識映射庫中是否存在所述新建標識映射完全相同的映射,若存在完全相同的映射則將所述新建標識映射從臨時列表清除;
29、數據替換單元,用于查詢標識映射庫中是否存在所述新建標識映射的匹配映射,所述匹配映射的文字數據或標識碼任一項與所述新建標識映射相同,若存在匹配映射則用所述新建標識映射替換所述匹配映射,若不存在匹配映射則將所述新建標識映射保存至標識映射庫;
30、預處理單元,用于將保存至標識映射庫中的新建標識映射作為原始數據,對所述原始數據進行預處理,所述預處理包括格式化處理和編碼處理;
31、哈希運算單元,用于對預處理后的原始數據進行哈希運算,得到哈希值。
32、在一個可選的實施方式中,所述簽名生成模塊包括:
33、秘鑰管理單元,用于預先基于openssl生成sm2算法的公鑰私鑰對,將所述公鑰私鑰對保存至秘鑰保存組件中;
34、加密計算單元,用于從秘鑰保存組件調取私鑰,并利用所述私鑰和?sm2加密算法對所述哈希值進行加密,生成數字簽名。
35、在一個可選的實施方式中,所述數據接收模塊包括:
36、解密計算單元,用于接收方利用接收的sm2公鑰對數字簽名進行解密,得到驗證哈希值;
37、驗證計算單元,用于接收方對接收的原始數據進行哈希運算,得到實際哈希值;
38、驗證執行單元,用于接收方比對實際哈希值與所述驗證哈希值是否一致,若兩者一致則判定所述原始數據通過驗證,若兩者不一致則判定所述原始數據未通過驗證并舍棄所述原始數據;
39、映射更新單元,用于接收方判斷自身的標識映射庫中是否存在所述原始數據的匹配映射,所述匹配映射的文字數據或標識碼任一項與所述原始數據相同,若存在匹配映射則用所述原始數據替換所述匹配映射,若不存在匹配映射則將所述原始數據保存至標識映射庫。
40、第三方面,提供一種終端,包括:
41、處理器、存儲器,其中,
42、該存儲器用于存儲計算機程序,
43、該處理器用于從存儲器中調用并運行該計算機程序,使得終端執行上述的終端的方法。
44、第四方面,提供了一種計算機存儲介質,所述計算機可讀存儲介質中存儲有指令,當其在計算機上運行時,使得計算機執行上述各方面所述的方法。
45、本發明的有益效果在于,本發明提供的標識數據加密交互方法、系統、終端及存儲介質,能夠保證標識映射同步時數據不被篡改,保證不同系統中的標識映射的一致性,保障了數據交互的安全。
46、此外,本發明設計原理可靠,結構簡單,具有非常廣泛的應用前景。