From 1f914618538920db4bfec7b106ee97038b157c9b Mon Sep 17 00:00:00 2001 From: Wim Date: Thu, 22 Jun 2017 01:00:27 +0200 Subject: Add vendor (steam) --- .../Philipp15b/go-steam/cryptoutil/pkcs7.go | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go (limited to 'vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go') diff --git a/vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go b/vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go new file mode 100644 index 00000000..8200fb94 --- /dev/null +++ b/vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go @@ -0,0 +1,25 @@ +package cryptoutil + +import ( + "crypto/aes" +) + +// Returns a new byte array padded with PKCS7 and prepended +// with empty space of the AES block size (16 bytes) for the IV. +func padPKCS7WithIV(src []byte) []byte { + missing := aes.BlockSize - (len(src) % aes.BlockSize) + newSize := len(src) + aes.BlockSize + missing + dest := make([]byte, newSize, newSize) + copy(dest[aes.BlockSize:], src) + + padding := byte(missing) + for i := newSize - missing; i < newSize; i++ { + dest[i] = padding + } + return dest +} + +func unpadPKCS7(src []byte) []byte { + padLen := src[len(src)-1] + return src[:len(src)-int(padLen)] +} -- cgit v1.2.3