package
0.0.0-20240720055557-362a10714c48
Repository: https://github.com/ntesicn/g2ee.git
Documentation: pkg.go.dev

# README

G2EE-加解密对象

  • 更加便捷的进行hash运算处理和加解密处理

支持的hash运算类型

  • 支持MD5,SHA1,SHA256,SHA512
  • 支持HMAC

哈希运算DEMO

package main
import (
   "github.com/ntesicn/g2ee/edObject"
)

func main() {
    edObj := edObject.New()
    //需要注意 hash运算的输出类型目前只支持 OutType_HEX 和 OutType_BASE64
    md5Str := edObj.GetHash(edObject.HASHTYPE_MD5,"123456",edObject.OUTTYPE_HEX)
    fmt.Println(md5Str)
      //或者
    edObject.New().GetHash(edObject.HASHTYPE_MD5,"123456",edObject.OUTTYPE_HEX)
}

加解密 由于精力有限,目前只封装了AES_CBC_128,AES_CBC_192,AES_CBC_256

AES加解密DEMO

package main
import (
   "github.com/ntesicn/g2ee/edObject"
)
func main() {
    edObj := edObject.New()
    
    // ecryptType string, input interface{}, secret interface{}, iv interface{}, paddingType string, outType string
    // 这个demo中"123456"为待加密内容  可以传入string 或者[]byte 不用考虑类型转换 直接传入即可
    // demo中"1234567890123456" 为密钥key 可以传入string 或者[]byte 不用考虑类型转换 直接传入即可
    // iv可以直接传入nil 也可以传入指定的偏移量 可以传入string 或者[]byte 不用考虑类型转换 直接传入即可
    // paddingType 为填充类型 edObject.PADDING_NONE edObject.PADDING_PKCS5 edObject.PADDING_PKCS7 edObject.PADDING_ZERO 
    // outType 为输出类型 edObject.OUTTYPE_HEX edObject.OUTTYPE_TEXT edObject.OUTTYPE_BINARY edObject.OUTTYPE_BASE64
    aesResult,err := edObj.Encrypt(edObject.AES_CBC_128,"123456","1234567890123456",nil,edObject.PADDING_PKCS5,edObject.OUTTYPE_HEX)
    //aesResult需要根据OutType进行断言

      // 或者
     aesResult,err := edObject.New().Encrypt(edObject.AES_CBC_128,"123456","1234567890123456",nil,edObject.PADDING_PKCS5,edObj.OUTTYPE_HEX)
}