ASN1之DER编码规则

在说DER之前先了解一个概念,数据的序列化。

什么是数据的序列化呢,将高级语言代码转变成二进制流的过程就是数据的序列化。数据序列化的目的就是物理存储和网络传输。在高级语言中有许多结构化的结构,比如,树,图,结构体等,高级语言里的代码最终在网络中都是以二进制流的形式进行传输的,但是对于结构化的数据除了编成二进制码外,他们之间存有一定的关系,为了在对方仍然知道这些关系以用来还原之前的结构,因此除了对结构化的数据进行编码外还得需要保存好他们的结构关系。

为了解决高级语言中结构化数据在网络传输中的结构关系能送达目的地进行还原,常见的几种数据序列化的方法有:

ASN.1,XML,JSON、

JSON:用于跟服务器交换数据。在跨平台传输上有很大优势。JSON其实就是键值对存储数据

var  a = {"one":"一","two":"二"},a就是一个json,a.one的值就是一

JSON可以内嵌数组,var b={"A":"[1,2,3,4,5,6,7]","B":"[a,b,c,d,e]"},b.A[0]的值就是1,json变量里还可内嵌数组。

ASN.1有两部分:一部分描述信息内数据,数据类型及序列号格式;另一部分描述如何将各部分组成信息。

ASN.1编码规则有BER,DER,PER等。DER编码规则原理就是做TLV操作。




  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ASN.1(Abstract Syntax Notation One)是一种用于描述数据结构和编码规则的标准化方法。ASN.1编码规则国标是指中国制定的ASN.1编码规则的国家标准。 ASN.1编码规则国标包括两个方面的内容:ASN.1数据结构的定义和ASN.1数据的编码规则ASN.1数据结构的定义是使用一种形式化的语言来描述数据的结构和类型。它定义了一些基本的数据类型,如整数、字符串、对象标识符等,并允许用户根据需要定义复杂的数据类型,例如序列、集合、选择等。这样,可以按照预先定义好的规则来定义和描述数据的结构,使得不同系统之间可以相互理解和交换数据。 ASN.1数据的编码规则规定了如何将ASN.1数据转换成二进制格式进行传输。常用的ASN.1编码规则有BER、DER、CER等。这些编码规则根据对数据体积和传输效率的要求,定义了不同的编码方式和规则,例如使用可变长度编码或固定长度编码,使用标记位表示数据类型等。ASN.1编码规则国标就是在这些基本的ASN.1编码规则的基础上,针对中国国情和实际需求,进行了一些适应性的修改和补充。 ASN.1编码规则国标的制定是为了提高通信系统的互操作性和数据交换的安全性。通过遵循ASN.1编码规则国标,不同厂家和不同系统可以更加方便地进行数据的交换和共享,避免了不同系统之间的兼容性问题和数据解析错误的风险。同时,ASN.1编码规则国标还可以提供一定的安全机制,比如对数据进行签名和加密,保证数据在传输过程中的安全性。 总之,ASN.1编码规则国标是一种在中国制定的用于描述数据结构和编码规则的国家标准。它为不同系统之间的数据交换提供了统一的标准和规范,提高了通信系统的互操作性和数据交换的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值