by Anish
Posted on Sunday November 4 , 2018
This sample chapter extracted from the book, Go Lang Cryptography for Developers . The Book theme isCryptography is for EveryOne. Learn from Crypto Principle to Applied Cryptography With Practical Example
URLs can only be sent over the Internet using the ASCII character set, Since URLs often contain characters outside the ASCII set, the URL has to be converted into a valid ASCII format.
URLEncoding
is the alternate base64
encoding defined in RFC 4648. It is typically used in URLs and file names.Reference ASCII table
Base64 is a group of similar binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation. The term Base64 originates from a specific MIME content transfer encoding. Each Base64 digit represents exactly 6 bits of data. Three 8-bit bytes (i.e., a total of 24 bits) can therefore be represented by four 6-bit Base64 digits.
The Base64 index table:
Go provides built-in support for base64 encoding/decoding.
import (
"encoding/base64")
Go supports both standard
and URL-compatible
base64
For URL compatible encoding use the below function,
EncodeToString returns the base64
encoding of src.
func (enc *Encoding) EncodeToString(src []byte) string
For URL compatible Decoding use the below function
DecodeString returns the bytes represented by the base64 string s.
func (enc *Encoding) DecodeString(s string) ([]byte, error)
The complete example using URL-compatible
base64
package main
import (
"fmt"
"encoding/base64")
func main() {
msg := "https://8gwifi.org"
// Base64 Encoding
encmess := base64.URLEncoding.EncodeToString([]byte(msg))
fmt.Println("Base64 Encoded Message", encmess)
// Base64 Decoding
decode, err := base64.URLEncoding.DecodeString(encmess)
if err != nil {
fmt.Println("Falied to Perfrom URL Encoding", encmess)
return
}
fmt.Println("Base64 Decoded Message", string(decode))
}
The output
Base64 Encoded Message aHR0cHM6Ly84Z3dpZmkub3Jn
Base64 Decoded Message https://8gwifi.org
By Using StdEncoding method for base64 encode/decode.
package main
import (
"fmt"
"encoding/base64")
func main() {
msg := "https://8gwifi.org"
// Base64 Encoding
encmess := base64.StdEncoding.EncodeToString([]byte(msg))
fmt.Println("Base64 Encoded Message", encmess)
// Base64 Decoding
decode, err := base64.StdEncoding.DecodeString(encmess)
if err != nil {
fmt.Println("Falied to Perfrom URL Encoding", encmess)
return
}
fmt.Println("Base64 Decoded Message", string(decode))
}
The output
Base64 Encoded Message aHR0cHM6Ly84Z3dpZmkub3Jn
Base64 Decoded Message https://8gwifi.org
Thanku for reading !!! Give a Share for Support
Instead of directly asking for donations, I'm thrilled to offer you all nine of my books for just $9 on leanpub By grabbing this bundle you not only help cover my coffee, beer, and Amazon bills but also play a crucial role in advancing and refining this project. Your contribution is indispensable, and I'm genuinely grateful for your involvement in this journey!
Any private key value that you enter or we generate is not stored on this site, this tool is provided via an HTTPS URL to ensure that private keys cannot be stolen, for extra security run this software on your network, no cloud dependency