micaes

package module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 25, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

README

micaes

AES加密解密算法包

用法

创建加密解密结构

//创建结构体,第一个参数是密钥(key),16、24或者32个字符,需要保密
//第二个参数是是初始向量(iv),一般16个字符
//第三个参数为bool型可选参数,用于确定是否对长度不符合要求的key和iv自动补全。
//   其为false时,如果key或者iv的长度不符合要求,会返回错误信息
//   其为true时,如果key或者iv的长度不符合要求,会自动补全
aes, err := NewMicaes("abcdefebdkhgidhe", "1234567890abcdef",false) 
if err != nil {
  fmt.Pringtf("发生错误:%s", err.Error())
}

加密

//加密,输入参数是需要加密的明文
ciphertext:=aes.Encrypt("其实,奥观海、川建国、拜振华都是我们的特工")
fmt.Pringtf("密文是:%s", ciphertext)
//密文是:WvpDEr51eH5PagDCI4l2FGVOni4a1oVuyREYogfU/8QqkZYcmDAxQ1o7tMyOz9g0hZEbpNuoogZYoJbzo+8UYQ==

解密

//解密,输入的参数是待解密的密文
plaintext,err:=aes.Decrypt("WvpDEr51eH5PagDCI4l2FGVOni4a1oVuyREYogfU/8QqkZYcmDAxQ1o7tMyOz9g0hZEbpNuoogZYoJbzo+8UYQ==")
if err !=nil {
    fmt.Pringtf("解密错误:%s",err.Error())
}
fmt.Pringtf("我的秘密是:%s", plaintext)
//我的秘密是:其实,奥观海、川建国、拜振华都是我们的特工

详细用法请参见aes_test.go中的用例。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Micaes

type Micaes struct {
	// contains filtered or unexported fields
}

func NewMicaes

func NewMicaes(key, iv string, autopadding ...bool) (*Micaes, error)

创建一个加密解密结构

输入参数:
  key string:密钥,长度应为16、24或者32个字符
  iv string:初始向量,可以为空或者16个字符
  autopadding bool:可选参数,是否对长度不符合要求的key和iv自动补全。
      false时,如果key或者iv的长度不符合要求,会返回错误信息
      true时,如果key或者iv的长度不符合要求,会自动补全
输出参数:
  *Micaes:创建的加密解密结构体
  error:错误信息
说明:本加密解密算法使用AES CBC算法
时间:2022年11月24日

func (*Micaes) Decrypt

func (ma *Micaes) Decrypt(ciphertext string) (string, error)

Decrypt 解密

func (*Micaes) Encrypt

func (ma *Micaes) Encrypt(plaintext string) string

Encrypt 加密

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL