Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- mrand "math/rand"
- "crypto/aes"
- "crypto/cipher"
- "encoding/base64"
- "errors"
- "strings"
- )
- func addBase64Padding(value string) string {
- m := len(value) % 4
- if m != 0 {
- value += strings.Repeat("=", 4-m)
- }
- return value
- }
- func removeBase64Padding(value string) string {
- return strings.Replace(value, "=", "", -1)
- }
- func decryptt(key []byte, text string) (string, error) {
- block, err := aes.NewCipher(key)
- if err != nil {
- return "", err
- }
- decodedMsg, err := base64.URLEncoding.DecodeString(addBase64Padding(text))
- if err != nil {
- return "", err
- }
- if (len(decodedMsg) % aes.BlockSize) != 0 {
- return "", errors.New("blocksize must be multipe of decoded message length")
- }
- iv := decodedMsg[:aes.BlockSize]
- msg := decodedMsg[aes.BlockSize:]
- cfb := cipher.NewCFBDecrypter(block, iv)
- cfb.XORKeyStream(msg, msg)
- return string(msg), nil
- }
- func main() {
- crry := "r_HWVfHUJyYRXjAstd1akDD_svGvtJzLUGE0iEE9jmMWN39i_WJNe0hVbwmpdM4v"
- c := 32
- mrand.Seed(1337000900080091)
- b := make([]byte, c, c)
- mrand.Read(b)
- msg, _ := decryptt(b, crry)
- fmt.Println(msg)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement