dongle 是一个轻量级、语义化、对开发者友好的 Golang 编码解码和加密解密库

Dongle 已被 awesome-go 收录, 如果您觉得不错,请给个 star 吧

github.com/golang-module/dongle

gitee.com/golang-module/dongle

更新日志

  • encode 结构体更名为 encoder
  • decode 结构体更名为 decoder
  • encrypt 结构体更名为 encrypter, 新增 ToRawString() 和 ToRawBytes()方法,输出未经编码的原始字符串和字节切片
  • decrypt 结构体更名为 decrypter, 新增 FromRawString() 和 FromRawBytes() 方法,对未经编码的原始字节切片和字符串进行解密
  • sign 结构体更名为 signer, 新增 ToRawString() 和 ToRawBytes()方法,输出未经编码的原始字符串和字节切片签名
  • verify 结构体更名为 verifier, 新增 FromRawString() 和 FromRawBytes() 方法,对未经编码的原始字节切片和字符串签名进行验证;新增 ToBool() 方法,输出验签结果布尔值
  • 增加对 sha3-224sha3-256sha3-384``、sha3-512` 加密支持
  • 增加对 sha512sha512-224sha512-256 加密支持
  • 增加对 rsa 签名、验签支持
  • base58.gobase62.gobase91.gobase100.go 独立成子包
  • 摩斯(morse)编码、解码支持指定分隔符,默认是 /
  • 统一单元测试格式

功能清单

  • Hex 编码、解码
  • Base16 编码、解码
  • Base32 编码、解码
  • Base58 编码、解码
  • Base62 编码、解码
  • Base64 编码、解码
  • Base64URL 编码、解码
  • SafeURL 编码、解码
  • Base85 编码、解码
  • Base91 编码、解码
  • Base100 编码、解码
  • Morse(摩斯) 编码、解码
  • Md4 加密
  • Md5 加密
  • Sha1 加密
  • Sha3-224 加密
  • Sha3-256 加密
  • Sha3-384 加密
  • Sha3-512 加密
  • Sha224 加密
  • Sha256 加密
  • Sha384 加密
  • Sha512 加密
  • Sha512-224 加密
  • Sha512-256 加密
  • Ripemd160 加密
  • Hmac-md4 加密
  • Hmac-md5 加密
  • Hmac-sha1 加密
  • Hmac-sha3-224 加密
  • Hmac-sha3-256 加密
  • Hmac-sha3-384 加密
  • Hmac-sha3-512 加密
  • Hmac-sha224 加密
  • Hmac-sha256 加密
  • Hmac-sha384 加密
  • Hmac-sha512 加密
  • Hmac-sha512-224 加密
  • Hmac-sha512-256 加密
  • Hmac-ripemd160 加密
  • Hmac-sm3 加密
  • Rc2 加密、解密
  • Rc4 加密、解密
  • Rc5 加密、解密
  • Rc6 加密、解密
  • Tea 加密、解密
  • Xtea 加密、解密
  • Aes 加密、解密
  • Des 加密、解密
  • 3Des 加密、解密
  • Rsa 加密、解密
  • Ecc 加密、解密
  • Sm2 加密、解密
  • Sm3 加密
  • Sm4 加密、解密
  • Sm7 加密、解密
  • Sm9 加密、解密
  • Bcrypt 签名、验签
  • Rsa 签名、验签
  • Dsa 签名、验签

go-dongle 0.2.0 版本发布了,一个轻量级、语义化的 golang 编码解码、加密解密库的更多相关文章

  1. 面向UI编程:ui.js 1.0 粗糙版本发布,分布式开发+容器化+组件化+配置化框架,从无到有的艰难创造

    时隔第一次被UI思路激励,到现在1.0的粗糙版本发布,掐指一算整整半年了.半年之间,有些细节不断推翻重做,再推翻再重做.时隔今日,终于能先出来个东西了,这个版本很粗糙,主体功能大概能实现了,但是还是有 ...

  2. 开源微信管家平台——JeeWx 捷微4.0 微服务版本发布,全新架构,全新UI,提供强大的图文编辑器

    JeeWx捷微4.0   微服务版本发布^_^ 换代产品(全新架构,全新UI,提供强大的图文编辑器) JEEWX 从4.0版本开始,技术架构全新换代,采用微服务架构,插件式开发,每个业务模块都是独立的 ...

  3. PEACHPIE 0.9.11 版本发布,可以上生产了

    PeachPie在官方博客(https://www.peachpie.io/2018/10/release-0911-visual-studio.html)发布了PeachPie的0.9.11版本 - ...

  4. redis终于有比较大的进展了,redis3.0.1 稳定版本发布,支持集群。

    原文地址:https://raw.githubusercontent.com/antirez/redis/3.0/00-RELEASENOTES Redis 3.0 release notes --[ ...

  5. 【Phylab2.0】Alpha版本发布说明

    新版本特性 更多的实验 Part Phylab2.0[Alpha] Phylab1.0 1011 1010113 缺失 1011 1010212 缺失 1021 1020113 1021 102021 ...

  6. 【Phylab2.0】Beta版本发布说明

    新版本特性 1. 新的物理实验 1020314等 2. 讨论区与报告界面的整合 3. 在线脚本管理功能 4. 管理员功能 有在线脚本管理功能的支持后加入了管理员模式,可以向其他学校开放,招募管理员并添 ...

  7. keleyi菜单0.1.5版本发布了

    keleyi菜单是一个让你轻松创建向上弹出菜单的jquery插件. 最新版本0.1.5增加了显示三角形的功能,当一级菜单包含有子菜单时,会在一级菜单的右侧显示一个小三角形.如图所示: 查看例子:htt ...

  8. 全平台 Chrome 浏览器 44.0.2403.89 版本下载

    全平台 Chrome 浏览器 44.0.2403.89 版本发布 详细更新日志请参见:https://chromium.googlesource.com/chromium/src/+log/43.0. ...

  9. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-8项目加密解密方案

    本文目录1. 摘要2. MD5加密封装3. AES的加密.解密4. DES加密/解密5. 总结 1.  摘要 C#中常用的一些加密和解密方案,如:md5加密.RSA加密与解密和DES加密等,Asp.N ...

  10. 【翻译】Ext JS 6.2 早期访问版本发布

    原文:Announcing Ext JS 6.2 Early Access 非常开心,Sencha Ext JS 6.2早期访问版本今天发布了.早期访问版本的主要目的是为了让大家进行测试并评估Ext ...

随机推荐

  1. 图解 Kubernetes Service

    文章转载自:https://www.qikqiak.com/post/visually-explained-k8s-service/ 原文链接:https://medium.com/swlh/kube ...

  2. kvm命令管理虚拟机

    virsh 既有命令行模式,也有交互模式,在命令行直接输入 virsh 就进入交互模式, virsh 后面跟命令参数,则是命令行模式: KVM 工具集合 libvirt:操作和管理KVM虚机的虚拟化 ...

  3. C++ 高级数据类型(六)—— 自定义数据类型

    转载:https://blog.csdn.net/zjy900507/article/details/79623829 定义自己的数据类型 (typedef) C++ 允许我们在现有数据类型的基础上定 ...

  4. 测试杂谈——一条SQL引发的思考(二)

    在前段时间,曾写过一篇关于SQL问题的文章,测试杂谈--一条SQL引发的思考(一). 今天这篇,算是个问题记录吧,问题并不复杂,但对于测试同学而言,确实是个需要关注的点. 问题分析 最近在日常工作中, ...

  5. laravel 报错 AUTH` failed: ERR Client sent AUTH, but no password is set

    明明没有设置redis密码.访问时候却报错 在代码里面的databases.php 改成这样就可以了.predis新版也会有取不到passwor的时候.改成我截图那样也可以.他默认取的是default ...

  6. `<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java

    <jsp:getProperty>动作和<jsp:setProperty>动作的使用 1.<jsp:getProperty>动作 语法格式: <jsp:get ...

  7. 2022最新版JDK1.8的安装教程、包含jdk1.8的提取码(亲测可用)

    文章目录 1.jdk的安装 1.1.下载(百度网盘jdk1.8提取码永久有效) 1.2.双击提取出来的exe,运行程序.如下图 1.3.进入安装向导 1.4.选择默认(安装所有的组件).同时更改安装路 ...

  8. 齐博X1-栏目的调用2

    fun('sort@fathers',$fid,'cms')  获取上层多级栏目这样的,比如我们现在所属第三级栏目,现在可以利用这个函数获取第二级和第一级的栏目,当然自身也会被调用出来,所以此函数用的 ...

  9. Pycharm和IDEA利用Git操作Github仓库

    1. Git Bash 选择一个本地代码仓库文件夹:D:/Github_Code/新建文件夹,然后在此目录打开git bash 依次进行: git init //首次需执行,之后可不用 git add ...

  10. 关于 Vue 中 h() 函数的一些东西

    最近在项目上需要一个信息弹窗,来显示信息.一开始只让它弹出了文字,而且只有一条信息.而给我的需求是多条文字和图片,而后我使用了element ui中的 Notification 通知组件来显示.当然, ...