内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

gobox中的color和crypto

2018-05-10 17:03 出处:清屏网 人气: 评论(0

今天来说下gobox中的color和crypto两个box。

color

color的主要作用是为在终端中输出的信息添加颜色。

用法示例

package main

import (
	"github.com/goinbox/color"

	"fmt"
)

func main() {
	fmt.Println(string(color.Black([]byte("Black"))))
	fmt.Println(string(color.Red([]byte("Red"))))
	fmt.Println(string(color.Green([]byte("Green"))))
	fmt.Println(string(color.Yellow([]byte("Yellow"))))
	fmt.Println(string(color.Blue([]byte("Blue"))))
	fmt.Println(string(color.Maganta([]byte("Maganta"))))
	fmt.Println(string(color.Cyan([]byte("Cyan"))))
	fmt.Println(string(color.White([]byte("White"))))
}

输出效果示例

特别说明

如果用户想自定义颜色,可以调用如下方法:

func Color(color []byte, msg []byte) []byte

其中color为命令行颜色编码,可以参考:https://www.ibm.com/developerworks/cn/linux/l-tip-prompt/tip01/

crypto

crypto提供了常用的加解密方法。

md5

方法:

func Md5String(data []byte) string

使用示例:

package main

import (
	"github.com/goinbox/crypto"

	"fmt"
)

func main() {
	mstr := crypto.Md5String([]byte("test md5"))

	fmt.Println(mstr)
}

程序输出:

0e4e3b2681e8931c067a23c583c878d5

AES对称加解密

先看一个示例:

package main

import (
	"github.com/goinbox/crypto"

	"fmt"
)

func main() {
	key := crypto.Md5String([]byte("gobox-crypto"))
	iv := crypto.Md5String([]byte("aes"))[:crypto.AES_BLOCK_SIZE]
	data := []byte("abcdefg")

	acc, _ := crypto.NewAesCBCCrypter([]byte(key), []byte(iv))
	crypted := acc.Encrypt(data)
	fmt.Println("crypted:", crypted)

	dcrypted := acc.Decrypt(crypted)
	fmt.Println("dcrypted:", string(dcrypted))
}

输出:

crypted: [22 146 17 181 62 224 155 54 244 184 255 116 134 113 40 170]
dcrypted: abcdefg

大家可能对里面的参数不太理解,请看下这篇文章:http://blog.7rule.com/2018/03/09/crypto-base64.html,里面讲对称加密的部分会解答你的疑问。

特别注意

默认的加解密填充方式,使用的 PKCS5方式 ,如果需要使用自己的填充方式,请实现接口:

type PaddingInterface interface {
	Padding(data []byte) []byte
	UnPadding(data []byte) []byte
}

之后在加解密前调用:

func (a *AesCBCCrypter) SetPadding(padding PaddingInterface)

欢迎大家使用,使用中有遇到问题随时反馈,我们会尽快响应,谢谢!


分享给小伙伴们:
本文标签: cryptocolorgobox

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号