返回顶部
首页 > 资讯 > 精选 >如何进行 asn1 marshal/unmarshal 并省略字段?
  • 107
分享到

如何进行 asn1 marshal/unmarshal 并省略字段?

2024-02-09 10:02:06 107人浏览 薄情痞子
摘要

PHP小编苹果为您介绍如何进行asn1 marshal/unmarshal并省略字段的方法。在处理asn1编码时,我们经常需要将数据进行编码(marshal)或解码(unmarshal

PHP小编苹果为您介绍如何进行asn1 marshal/unmarshal并省略字段的方法。在处理asn1编码时,我们经常需要将数据进行编码(marshal)或解码(unmarshal),但有时候我们只关心其中的一部分字段,而不需要解析整个结构。为了达到这个目的,我们可以使用一些技巧来省略不需要的字段,从而提高处理效率。接下来,我们将详细介绍如何实现这一操作。

问题内容

type bearer struct {
    CreatedAt time.Time     `asn1:"generalized"`
    ExpiresAt time.Time     `asn1:"generalized"`
    Nonce     string
    Signature []byte        `asn1:"-"`
    TTL       time.Duration `asn1:"-"`
    Frequency int           `asn1:"-"`
}

c := &bearer{
  CreatedAt: time.Now()
  ExpiresAt: time.Now().Add(1*time.Minute())
  Nonce: "123456789abcdefghijklmnop"
  Frequency: 1
}

b, err := asn1.Marshal(*c)
os.WriteFile("b64.txt", b, 0777)

将成功编组该结构,但是,当使用 Bash 检查该结构时 base64 -d b64.txt > b64.txt.der 我仍然可以看到 asn1:"-" 字段实际上已编组并写入文件,并且没有值的字段得到 Error: 对象长度为零.。为什么 asn1:"-" 不像 JSON 那样工作?

解决方法

因为 encoding/json 包是为了支持 - 选项而实现的,而encoding/asn1 不是。至于为什么,这里不是地方。接受 encoding/asn1 的主要目标是支持读写 X.509 证书,这并不意味着成为 ASN1 实现的“瑞士军刀”。

如果要排除某些字段,请创建排除这些字段的结构类型。为了避免重复,您可以将这些“剥离”的结构嵌入到您自己的结构中,其中包括附加字段,例如:

type bearerAsn1 struct {
    CreatedAt time.Time `asn1:"generalized"`
    ExpiresAt time.Time `asn1:"generalized"`
    Nonce     string
}

type bearer struct {
    bearerAsn1
    Signature []byte
    TTL       time.Duration
    Frequency int
}

仅marshal/unmarshal bearer.bearerAsn1,所以bearer的其他字段自然会被排除。

以上就是如何进行 asn1 marshal/unmarshal 并省略字段?的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 如何进行 asn1 marshal/unmarshal 并省略字段?

本文链接: https://www.lsjlt.com/news/562425.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何进行 asn1 marshal/unmarshal 并省略字段?
    php小编苹果为您介绍如何进行asn1 marshal/unmarshal并省略字段的方法。在处理asn1编码时,我们经常需要将数据进行编码(marshal)或解码(unmarshal...
    99+
    2024-02-09
  • 如何省略 swaggo 文档中的某些字段
    今天编程网给大家带来了《如何省略 swaggo 文档中的某些字段》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多...
    99+
    2024-04-05
  • css如何实现单行文字省略号
    这篇文章主要介绍了css如何实现单行文字省略号,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。单行实现文字省略号  &nb...
    99+
    2024-04-02
  • 如何在元帅中省略结构的条件字段
    小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《如何在元帅中省略结构的条件字段》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!问题内容...
    99+
    2024-04-05
  • golang如何临时忽略掉Password字段并且添加token字段
    这篇文章主要为大家展示了“golang如何临时忽略掉Password字段并且添加token字段”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“golang如何临时...
    99+
    2024-04-02
  • mysql如何对字段进行操作
    mysql如何对字段进行操作?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、mysql修改字段的默认值alter table tb_me...
    99+
    2024-04-02
  • css如何实现文字超出隐藏并显示省略号
    这篇文章主要为大家展示了“css如何实现文字超出隐藏并显示省略号”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css如何实现文字超出隐藏并显示省略号”这篇文章吧。文字超出隐藏并显示省略号单行(一...
    99+
    2023-06-26
  • 如何进行SQL Server自增字段归零
    如何进行SQL Server自增字段归零,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。假设有一表admin.ROLE,现已在其...
    99+
    2024-04-02
  • 如何在 MongoDB 4 中对文档进行排序并仅显示单个字段?
    要在 MongoDB 4 中对文档进行排序,请使用 sort()。要仅显示已排序的单个字段,请将其设置为 1。让我们创建一个包含文档的集合 -> db.demo611.insertOne({"Name":"...
    99+
    2023-10-22
  • 如何进行Hybris Commerce Product字段名列表分析
    这期内容当中小编将会给大家带来有关如何进行Hybris Commerce Product字段名列表分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。我在Hybris Backoffice里搜索Produc...
    99+
    2023-06-04
  • 如何通过Kubernetes网络策略进行应用程序微分段
    如何通过Kubernetes网络策略进行应用程序微分段,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在大多数生产环境中,需要实施网络访问控制。Kubernetes提供了一种...
    99+
    2023-06-03
  • css如何实现段落首行缩进2个字符
    这篇文章主要介绍css如何实现段落首行缩进2个字符,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 段落首行抬头恰恰缩进2个汉字位子的设置门径教程 1、首先使用缩进CSS属性:te...
    99+
    2024-04-02
  • 如何在mongodb数据库中对字段进行操作
    在mongodb数据库中操作字段的方法:1.启动mongodb;2.登录mongodb数据库;3.新建数据库;4.执行命令操作字段;具体步骤如下:首先,在命令行中启动mongodb服务;net start MongoDBmongodb服务启...
    99+
    2024-04-02
  • HTML中如何强制文本在一行内显示并后面有省略号效果
    小编给大家分享一下HTML中如何强制文本在一行内显示并后面有省略号效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!设置或检索是否使用一个省略标记(...)标示对象内文本的溢出。 对应的脚...
    99+
    2024-04-02
  • php如何忽略大小写的进行字符串替换
    这篇文章主要介绍php如何忽略大小写的进行字符串替换,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!忽略大小写替换的方法:1、使用str_ireplace()函数,语法“str_ireplace(查找值,替换值,字符串...
    99+
    2023-06-15
  • MySql如何将查询的出来的字段进行转换
    目录mysql将查询的出来的字段进行转换MySql将字符串转成数字1.直接用加法2.使用函数MySql将查询的出来的字段进行转换 使用mysql 查询出来的字段并不是前端想要的,可能需要一些转换,那么怎么办呢 我们可以使...
    99+
    2022-06-13
    MySql查询 MySql字段转换 查询字段转换
  • MySQL级联复制下如何进行大表的字段扩容
    目录mysql级联复制下进行大表的字段扩容一、背景二、库表信息三、方案选择四、如何进行操作五、总结MySQL级联复制下进行大表的字段扩容 作者:雷文霆 爱可生华东交付服务部 DBA 成员,主要负责Mysql故障处理及相关...
    99+
    2023-04-24
    mysql字段扩容 mysql级联复制 mysql大表字段扩容
  • mysql如何对已经加密的字段进行模糊查询详解
    目录问题:但是加密之后我们怎么来查询呢?1、了解HEX 函数与UNHEX 函数2、了解AES_ENCRYPT函数与AES_DECRYPT函数Java工具类AES加解密同步使用总结场景:在模糊查询电话号码的时候,发现电话号...
    99+
    2024-04-02
  • 如何进行数据库“状态”字段设计的思考与实践
    本篇文章给大家分享的是有关如何进行数据库“状态”字段设计的思考与实践,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。正文最近在做订单及支付相关的...
    99+
    2024-04-02
  • 如何进行SAP S/4HANA扩展字段创建过程的单步调试
    如何进行SAP S/4HANA扩展字段创建过程的单步调试,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。正如我所说,扩展字段生成是通过后台作业执行以异步方式完成的。如果需要调试以...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作