Golang

Pacote de criptografia Golang

Pacote de criptografia Golang
Nesta lição sobre o pacote Crypto em Golang, estudaremos vários exemplos de gerenciamento e criação de Cifras em Go e ver como o pacote Crypto nos ajuda em relação ao Manuseio de Cifras na linguagem de programação Go. Vamos começar agora.

Começando com Go

Apenas para ter certeza de que estamos na mesma página, aqui está a estrutura de diretórios que criei para meu programa Hello World:

Aqui está o programa que criamos:

pacote principal
importar "fmt"
func main ()
fmt.Printf ("Olá, mundo.\ n ")

Podemos executar o programa acima com o seguinte comando:

vai correr olá.vai

Depois de executar este comando, aqui está a saída que você verá:

Agora isso parece bom. Vamos passar para a nossa agenda principal.

Pacote de criptografia em Golang

Usar criptografia em Golang não é muito fácil de entender. Isso ocorre por causa das construções que fornece e do algoritmo que segue para obter criptografia e descriptografia.

Nesta lição, estudaremos estes pontos:

Vamos começar fazendo hash e comparando as senhas.

Criptografia SHA256

Começaremos com algo simples. Tentaremos um exemplo muito simples de como realizar uma criptografia SHA256 usando Golang. Vejamos o exemplo:

pacote principal
importar (
"fmt"
"erros"
"cripto / sha256"
"codificação / base64"
)
func main ()
someText: = "shubham"
hash, err: = hashTextTo32Bytes (someText)
fmt.Printf ("% s \ n% s", hash, err)

função hashTextTo32Bytes (hashThis string) (string hash, err error)
se len (hashThis) == 0
retornar "", erros.Novo ("Nenhuma entrada fornecida")

hasher: = sha256.Novo()
hasher.Write ([] byte (hashThis))
stringToSHA256: = base64.URLEncoding.EncodeToString (hasher.Soma (nulo))
// Corte o comprimento para 32 bytes e retorne.
retornar stringToSHA256 [: 32], nulo

Começamos criando um hasher inicialmente. Depois disso, nós o usamos para escrever o hash em uma matriz de bytes. Finalmente, codificamos a String e retornamos os 32 bits de hash.

Quando executarmos este exemplo, obteremos a seguinte saída:

Hashing e senha de correspondência

Agora, vamos finalmente usar bcrypt para produzir senhas Hashed. Manteremos as funções diretas e simples.

Também incluiremos uma função que corresponde à senha com hash para um determinado String. Desta forma, também podemos confirmar se a senha fornecida pelo usuário é a correta.  Antes de executar este código, será necessário instalar o pacote golang para bcrypt com o seguinte comando:

# vá buscar "golang.org / x / crypto / bcrypt "

Então você pode executar este código:

pacote principal
importar "fmt"
importar "golang.org / x / crypto / bcrypt "
função HashPassword (password string) (string, error)
bytes, err: = bcrypt.GenerateFromPassword ([] byte (senha), 14)
string de retorno (bytes), err

função CheckPasswordHash (password, hash string) bool
errar: = bcrypt.CompareHashAndPassword ([] byte (hash), [] byte (senha))
return err == nil

func main ()
myPwd: = "shubham"
fornecidoHash, _: = HashPassword (myPwd)
fmt.Println ("Senha:", myPwd)
fmt.Println ("Hash:", fornecido Hash)
isMatch: = CheckPasswordHash (myPwd, providedHash)
fmt.Println ("Combinado ?: ", isMatch)

Quando executarmos este exemplo, obteremos a seguinte saída:

Conclusão

Nesta postagem, estudamos exemplos simples, mas úteis sobre como podemos usar o pacote de criptografia para fazer ações muito importantes e úteis em nossos aplicativos.

Top jogos do Oculus App Lab
Se você é proprietário de um fone de ouvido Oculus, deve estar informado sobre o carregamento lateral. Sideload é o processo de instalação de conteúdo...
Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...
5 melhores jogos de arcade para Linux
Hoje em dia, os computadores são máquinas sérias usadas para jogos. Se você não pode obter a nova pontuação máxima, você saberá o que quero dizer. Nes...