System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及高精地圖,具體而言,涉及一種矢量瓦片數據的加密方法。
技術介紹
1、高精地圖是云控基礎平臺的重要組成部分,是車輛運動軌跡,指標運算,大數據分析等功能的重要基石。隨著高精地圖數據在車路云一體化中的應用,為了保障數據傳輸的安全性以及地圖可視化要求,需要一種高效、安全、壓縮率高的數據傳輸加密方式。
技術實現思路
1、本專利技術提供一種矢量瓦片數據的加密方法,用以克服現有技術中存在的至少一個技術問題。
2、本專利技術實施例提供一種矢量瓦片數據的加密方法,應用于存儲有矢量瓦片數據的服務平臺,包括:
3、接收用戶終端發送的對于矢量瓦片數據的獲取請求,所述矢量瓦片數據的獲取請求中攜帶有若干組加密后的請求參數信息,所述若干組加密后的請求參數信息中的任意一組請求參數信息中包括目標瓦片層級信息、加密后的橫坐標信息和加密后的縱坐標信息;
4、響應于所述矢量瓦片數據的獲取請求,基于所述若干組加密后的請求參數信息確定所述用戶終端所請求的目標矢量數據;
5、對于所述目標矢量數據,基于所述目標瓦片層級信息對所述目標矢量數據中的每個地圖點坐標信息進行加密,得到加密后的目標矢量數據;
6、生成矢量瓦片文件的文件頭部分,以便于所述服務平臺基于所述加密后的目標矢量數據和所述文件頭部分生成加密后的矢量瓦片文件的正文部分;
7、其中,所述生成矢量瓦片文件的文件頭部分,具體包括:
8、設定所述文件頭部分包含簽名子部分、加密方式子
9、設定長度為兩個字節的加密方式子部分,將所述長度為兩個字節的加密方式子部分分為位置前后相鄰的包括第一子段、第二子段、第三子段和第四子段的四個子段,所述四個子段中的每個子段的長度都為四位;
10、所述第一子段的二進制數值用于表示是否對所述矢量瓦片文件的正文部分進行加密,其中,所述第一子段的前三位用零填充;所述第一子段的第四位若設置為1,則表示對所述矢量瓦片文件的正文部分進行加密,若設置為0,則不對所述矢量瓦片文件的正文部分進行加密;
11、所述第二子段的十進制數值用于表示是否對所述矢量瓦片文件的正文部分進行數據偏轉,其中,若所述第二子段的十進制數值設置為1,則表示不對所述矢量瓦片文件的正文部分進行數據偏轉;若所述第二子段的十進制數值設置為2,則表示按照數據倒置的方式將所述矢量瓦片文件的正文部分進行數據偏轉;若所述第二子段的十進制數值設置為3,則表示按照臨近交換的方式將所述矢量瓦片文件的正文部分進行數據偏轉;若所述第二子段的十進制數值若設置為區間[4,9]之間的整數值,則為預留類型;然后將所述第二子段的二進制表示中不足四位的部分左側用0填充以形成長度為四位的二進制表示;
12、所述第三子段對應的十進制數值用于表示是否對所述矢量瓦片文件的正文部分進行邏輯位運算;其中,若所述第三子段對應的十進制數值為0或1,則表示不對所述矢量瓦片文件的正文部分進行邏輯位運算;若所述第三子段對應的十進制數值在數值2到9表示之間,則表示對所述矢量瓦片文件的正文部分進行邏輯位運算;所述第三子段對應的十進制數值用于表示對所述矢量瓦片文件的正文部分進行加密處理所需的密鑰的密鑰長度;然后將所述第三子段的二進制表示中不足四位的部分左側用0填充以形成長度為四位的二進制表示;
13、所述第四子段對應的十進制數值用于表示對所述矢量瓦片文件的正文部分進行加密處理所需的密鑰的標志位的位置,然后將所述第四子段的二進制表示中不足四位的部分左側用0填充以形成長度為四位的二進制表示;
14、根據對所述矢量瓦片文件的正文部分的處理需求生成所述文件頭部分中滿足所述處理需求的簽名子部分和滿足所述處理需求的加密方式子部分,然后生成所述版本號子部分和所述描述信息子部分,將所述滿足所述處理需求的簽名子部分、所述滿足所述處理需求的加密方式子部分、所述版本號子部分和所述描述信息子部分進行拼接得到所述文件頭部分;
15、所述基于所述加密后的目標矢量數據和所述文件頭部分生成加密后的矢量瓦片文件的正文部分,具體包括:
16、基于二進制編碼格式geobuf將所述加密后的目標矢量數據編碼為二進制的矢量瓦片文件,將所述二進制的矢量瓦片文件作為所述矢量瓦片文件的正文部分;其中,在基于所述二進制編碼格式geobuf生成所述二進制的矢量瓦片文件的正文部分的過程中基于自定義的標簽順序定義字段寫入順序,所述自定義的標簽順序與所述二進制編碼格式geobuf默認的字段寫入順序不同;
17、基于所述第二子段的十進制數值判斷是否對所述矢量瓦片文件的正文部分進行數據偏轉,得到處理后的矢量瓦片文件的正文部分;
18、基于所述第一子段的二進制數值判斷是否對所述處理后的矢量瓦片文件的正文部分進行加密,得到第一判斷結果;
19、若所述第一判斷結果為否,則不對所述處理后的矢量瓦片文件的正文部分進行進一步加密;
20、若所述第一判斷結果為是,則基于所述處理后的矢量瓦片文件的正文部分的內容生成對所述處理后的矢量瓦片文件的正文部分的內容進行所述加密處理所需的密鑰,基于所述加密處理所需的密鑰對所述處理后的矢量瓦片文件的正文部分的內容進行加密處理,得到加密處理后的所述矢量瓦片文件的正文部分;
21、將所述文件頭部分和所述加密處理后的所述矢量瓦片文件的正文部分拼接起來,生成發送給所述用戶終端的矢量瓦片文件;
22、將所述矢量瓦片文件發送給所述用戶終端,以使得所述用戶終端對于獲取的矢量瓦片文件進行解密以得到所述目標矢量瓦片數據。
23、優選的,所述對于所述目標矢量數據,基于所述目標瓦片層級信息對所述目標矢量數據中的每個地圖點坐標信息進行加密,得到加密后的目標矢量數據,具體包括:
24、將所述目標瓦片層級信息對應的數值標記為符號m,基于下式定義最大經緯度偏移量delta_max(m):
25、delta_max(m)=m±a·bm·cos(θ)
26、其中,符號m表示預先設定的基準值,符號a表示第一預定常數,符號b表示第二預定常數,符號θ表示所述目標矢量數據的偏轉運動方向對應的角度;
27、對所述目標矢量數據中的每個地圖點的橫縱坐標都增加一個偏轉量,所述偏轉量的數值大小在[-delta_max(m),delta_max(m)]*cos(θ)范圍內,得到所述加密后的目標矢量數據。
28、優選的,所述基于所述處理后的矢量瓦片文件的正文部分的內容生成對所述處理后的矢量瓦片文件的正文部分的內容進行所述加密處理所需的密鑰,具體包括:
29、將所述第三子段對應的十進制數值標記為符號n,將所述第四子段對應的十進制數值標記為符號p本文檔來自技高網...
【技術保護點】
1.一種矢量瓦片數據的加密方法,應用于存儲有矢量瓦片數據的服務平臺,其特征在于,所述方法包括:
2.根據權利要求1所述的矢量瓦片數據的加密方法,其特征在于,所述對于所述目標矢量數據,基于所述目標瓦片層級信息對所述目標矢量數據中的每個地圖點坐標信息進行加密,得到加密后的目標矢量數據,具體包括:
3.根據權利要求1所述的矢量瓦片數據的加密方法,其特征在于,所述基于所述處理后的矢量瓦片文件的正文部分的內容生成對所述處理后的矢量瓦片文件的正文部分的內容進行所述加密處理所需的密鑰,具體包括:
4.根據權利要求3所述的矢量瓦片數據的加密方法,其特征在于,所述基于所述加密處理所需的密鑰對所述處理后的矢量瓦片文件的正文部分的內容進行加密處理,得到加密處理后的所述矢量瓦片文件的正文部分,具體包括:
5.根據權利要求1所述的矢量瓦片數據的加密方法,其特征在于,所述若干組加密后的請求參數信息由所述用戶終端基于對所述若干組原始請求參數信息進行非線性處理得到,所述若干組原始請求參數信息中的任意一組原始請求參數信息中包括目標瓦片層級信息、原始橫坐標信息X和原始
...【技術特征摘要】
1.一種矢量瓦片數據的加密方法,應用于存儲有矢量瓦片數據的服務平臺,其特征在于,所述方法包括:
2.根據權利要求1所述的矢量瓦片數據的加密方法,其特征在于,所述對于所述目標矢量數據,基于所述目標瓦片層級信息對所述目標矢量數據中的每個地圖點坐標信息進行加密,得到加密后的目標矢量數據,具體包括:
3.根據權利要求1所述的矢量瓦片數據的加密方法,其特征在于,所述基于所述處理后的矢量瓦片文件的正文部分的內容生成對所述處理后的矢量瓦片文件的正文部分的內容進行所述加密處理所需的密鑰,具體...
【專利技術屬性】
技術研發人員:強彥,隋靖,任杰,袁庭飛,陳小強,陳林,
申請(專利權)人:西部科學城智能網聯汽車創新中心重慶有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。