Quantcast
Channel: Active questions tagged utf-8 - Stack Overflow
Viewing all articles
Browse latest Browse all 1216

decryption in go lang does not give readable or printable text

$
0
0

I am decoding from base64 and then decrypting text. But it's giving non- printable ASCII. How to get printable text after decrypting? My Python code runs well but not the go code. How can I convert it to readable text?

func decryptKey(Key string) (map[string]string, error) {    key := "ABC"    decodeStr, err := base64.StdEncoding.DecodeString(Key)    if err != nil {        fmt.Println("Error decoding:", err)        //return nil    }    // Create a decoder for ISO-8859-1 (Charmap)    dec := charmap.ISO8859_1.NewDecoder()    decodeBytes, err := dec.Bytes(decodeStr)    if err != nil {        fmt.Println("Error decoding to ISO-8859-1:", err)        //return nil    }    result := ""    keyLen := len(key)    for i, char := range decodeBytes {        keyChar := key[i%keyLen]        decodedChar := char - byte(keyChar)        if decodedChar < 0 {            decodedChar = byte(int(decodedChar) + 256)        }        result += string(decodedChar)    }    fmt.Println("result.........................",result.strings())    // Split the result by "|" and create a map of fields    extractedFields := make(map[string]string)    keyParts := strings.Split(result, "|")    for _, part := range keyParts {        keyValue := strings.SplitN(part, ":-", 2)        if len(keyValue) == 2 {            field := strings.TrimSpace(keyValue[0])            value, err := strconv.Unquote(`"` + strings.TrimSpace(keyValue[1]) + `"`)            if err != nil {               fmt.Println("Error converting value:", err)            }            extractedFields[field] = value        }    }    return extractedFields,nil}

Viewing all articles
Browse latest Browse all 1216

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>