aes256

package module
v0.0.0-...-1ce9e9b Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2017 License: MIT Imports: 7 Imported by: 1

README

aes256

import "github.com/mkmueller/aes256"

Overview

The aes256 package provides simplified encryption and decryption functions using the standard crypto/aes package. It implements a 256 bit key length and the GCM cipher. The key may be a string of at least one character with an optional hash iteration value. The encrypted output may be a byte slice or a base-64 encoded string.

Index

Examples
Package files

aes256.go

func Decrypt

func Decrypt(key string, ciphertext []byte) ([]byte, error)

Decrypt accepts a key string and a ciphertext byte array. It returns a decrypted byte array.

func DecryptB64

func DecryptB64(key string, ciphertext string) ([]byte, error)

DecryptB64 accepts a key string and a base-64 encoded ciphertext string. It returns a decrypted byte array.

func Encrypt

func Encrypt(key string, plaintext []byte) ([]byte, error)

Encrypt accepts a key string and a plaintext byte array. It returns an encrypted byte array.

func EncryptB64

func EncryptB64(key string, plaintext []byte) (string, error)

Encrypt accepts a key string and a plaintext byte array. It returns an encrypted base-64 encoded string.

type Cipher

type Cipher struct {
    // contains filtered or unexported fields
}
func New
func New(key string, rehash ...int) (*Cipher, error)

New accepts a key string and an optional rehash value. The supplied key will be rehashed the number of times indicated by the optional rehash value. A new Cipher instance will be returned.

func (*Cipher) Decrypt
func (ci *Cipher) Decrypt(ciphertext []byte) ([]byte, error)

Decrypt accepts a ciphertext byte array and returns a plaintext byte array.

func (*Cipher) DecryptB64
func (ci *Cipher) DecryptB64(b64str string) ([]byte, error)

DecryptB64 accepts a base-64 encoded ciphertext string and returns a decrypted byte array.

func (*Cipher) Encrypt
func (ci *Cipher) Encrypt(plaintext []byte) ([]byte, error)

Encrypt accepts a plaintext byte array and returns an encrypted byte array.

func (*Cipher) EncryptB64
func (ci *Cipher) EncryptB64(plaintext []byte) (string, error)

EncryptB64 accepts a plaintext byte array and returns an encrypted base-64 encoded ciphertext string.


Generated by godoc2md

Documentation

Overview

The aes256 package provides simplified encryption and decryption functions using the standard crypto/aes package. It implements a 256 bit key length and the GCM cipher. The key may be a string of at least one character with an optional hash iteration value. The encrypted output may be a byte slice or a base-64 encoded string.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Decrypt

func Decrypt(key string, ciphertext []byte) ([]byte, error)

Decrypt accepts a key string and a ciphertext byte array. It returns a decrypted byte array.

Example
package main

import (
	"fmt"
	"github.com/mkmueller/aes256"
)

var ctxt []byte

func main() {

	ptxt, err := aes256.Decrypt("carfard", ctxt)
	if err != nil {
		panic(err.Error())
	}
	fmt.Print(string(ptxt))
}
Output:

There are three great virtues of a programmer; Laziness, Impatience and Hubris

func DecryptB64

func DecryptB64(key string, ciphertext string) ([]byte, error)

DecryptB64 accepts a key string and a base-64 encoded ciphertext string. It returns a decrypted byte array.

Example
package main

import (
	"github.com/mkmueller/aes256"
)

var err error

var ptxt []byte
var base64_str string

func main() {

	ptxt, err = aes256.DecryptB64("carfard", base64_str)
	if err != nil {
		panic(err.Error())
	}

}
Output:

func Encrypt

func Encrypt(key string, plaintext []byte) ([]byte, error)

Encrypt accepts a key string and a plaintext byte array. It returns an encrypted byte array.

Example
package main

import (
	"github.com/mkmueller/aes256"
)

var err error
var txt []byte = []byte("There are three great virtues of a programmer; Laziness, Impatience and Hubris")

var ctxt []byte

func main() {

	ctxt, err = aes256.Encrypt("carfard", txt)
	if err != nil {
		panic(err.Error())
	}

}
Output:

func EncryptB64

func EncryptB64(key string, plaintext []byte) (string, error)

Encrypt accepts a key string and a plaintext byte array. It returns an encrypted base-64 encoded string.

Example
package main

import (
	"github.com/mkmueller/aes256"
)

var err error
var txt []byte = []byte("There are three great virtues of a programmer; Laziness, Impatience and Hubris")

var base64_str string

func main() {

	base64_str, err = aes256.EncryptB64("carfard", txt)
	if err != nil {
		panic(err.Error())
	}

}
Output:

Types

type Cipher

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

func New

func New(key string, rehash ...int) (*Cipher, error)

New accepts a key string and an optional rehash value. The supplied key will be rehashed the number of times indicated by the optional rehash value. A new Cipher instance will be returned.

Example
package main

import (
	"github.com/mkmueller/aes256"
)

var err error

var aes *aes256.Cipher

func main() {

	aes, err = aes256.New("carfard")
	if err != nil {
		panic(err.Error())
	}

}
Output:

func (*Cipher) Decrypt

func (ci *Cipher) Decrypt(ciphertext []byte) ([]byte, error)

Decrypt accepts a ciphertext byte array and returns a plaintext byte array.

Example
package main

import (
	"github.com/mkmueller/aes256"
)

var ctxt []byte
var ptxt []byte

func main() {

	aes, err := aes256.New("carfard")
	if err != nil {
		panic(err.Error())
	}
	ptxt, err = aes.Decrypt(ctxt)

}
Output:

func (*Cipher) DecryptB64

func (ci *Cipher) DecryptB64(b64str string) ([]byte, error)

DecryptB64 accepts a base-64 encoded ciphertext string and returns a decrypted byte array.

Example
package main

import (
	"github.com/mkmueller/aes256"
)

var ptxt []byte
var base64_str string

func main() {

	aes, err := aes256.New("carfard")
	if err != nil {
		panic(err.Error())
	}
	ptxt, err = aes.DecryptB64(base64_str)

}
Output:

func (*Cipher) Encrypt

func (ci *Cipher) Encrypt(plaintext []byte) ([]byte, error)

Encrypt accepts a plaintext byte array and returns an encrypted byte array.

Example
package main

import (
	"github.com/mkmueller/aes256"
)

var err error
var txt []byte = []byte("There are three great virtues of a programmer; Laziness, Impatience and Hubris")
var aes *aes256.Cipher
var ctxt []byte

func main() {

	txt = []byte("There are three great virtues of a programmer; Laziness, Impatience and Hubris")
	aes, err = aes256.New("carfard")
	if err != nil {
		panic(err.Error())
	}
	ctxt, err = aes.Encrypt(txt)

}
Output:

func (*Cipher) EncryptB64

func (ci *Cipher) EncryptB64(plaintext []byte) (string, error)

EncryptB64 accepts a plaintext byte array and returns an encrypted base-64 encoded ciphertext string.

Example
package main

import (
	"github.com/mkmueller/aes256"
)

var err error
var txt []byte = []byte("There are three great virtues of a programmer; Laziness, Impatience and Hubris")
var aes *aes256.Cipher

var base64_str string

func main() {

	aes, err = aes256.New("carfard")
	if err != nil {
		panic(err.Error())
	}
	base64_str, err = aes.EncryptB64(txt)

}
Output:

Jump to

Keyboard shortcuts

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