ASN1之DER編碼規則

2021-07-29 05:03:44 字數 641 閱讀 3671

在說der之前先了解乙個概念,資料的序列化。

什麼是資料的序列化呢,將高階語言**轉變成二進位製流的過程就是資料的序列化。資料序列化的目的就是物理儲存和網路傳輸。在高階語言中有許多結構化的結構,比如,樹,圖,結構體等,高階語言裡的**最終在網路中都是以二進位製流的形式進行傳輸的,但是對於結構化的資料除了編成二進位製碼外,他們之間存有一定的關係,為了在對方仍然知道這些關係以用來還原之前的結構,因此除了對結構化的資料進行編碼外還得需要儲存好他們的結構關係。

為了解決高階語言中結構化資料在網路傳輸中的結構關係能送達目的地進行還原,常見的幾種資料序列化的方法有:

asn.1,xml,json、

json:用於跟伺服器交換資料。在跨平台傳輸上有很大優勢。json其實就是鍵值對儲存資料

var  a = ,a就是乙個json,a.one的值就是一

json可以內嵌陣列,var b=,b.a[0]的值就是1,json變數裡還可內嵌陣列。

asn.1有兩部分:一部分描述資訊內資料,資料型別及序列號格式;另一部分描述如何將各部分組成資訊。

asn.1編碼規則有ber,der,per等。der編碼規則原理就是做tlv操作。

使用ASN 1協議編碼

在不同裝置節點進行通訊的時候,通常要定義乙個資料協議,用來定義要傳輸資料的資訊結構。而asn.1就是定義資料協議的一種方法。即寫乙個檔案,字尾名為 asn 例如 寫乙個檔案,檔案名叫 data.asn 檔案內容為 people sequence 即定義乙個資料結構people,包含兩個成員,乙個為位...

ASN 1編碼學習筆記 一

什麼是asn.1 抽象語法記法一 asn.1是itu t的乙個標準集,它用來編碼及表示通用資料型別,這些資料型別有可列印串值,八位位組串值,位串值,整數值以及用可移值方式組合而成 的其他型別序列值 簡單的說,asn.1指定了以何種方式對非平凡的資料型別進行編碼,以便其他任何平台及第三方工具都能夠解釋...

ASN1標準對OID的編碼

asn1對oid的編碼有一些規定,形如a.b.c.d.e的oid被編碼的時候,完全可以按照der的編碼規則將整個oid的型別設定為object,然後將每乙個點分數字的型別設定為integer,最終編碼為 obj length int lena a int lenb b int lenc c 可是as...