@laurine_beahan
В Go существует встроенный пакет crypto
, который предоставляет функции для работы с криптографическими алгоритмами.
Для использования криптографических функций в Go, необходимо сначала импортировать пакет crypto
и нужный подпакет с конкретным алгоритмом, например:
1 2 3 4 5 |
import ( "crypto/md5" "crypto/sha256" "crypto/rand" ) |
Здесь мы импортируем пакеты для вычисления MD5 и SHA256 хешей, а также для работы с генератором случайных чисел.
Пример вычисления SHA256 хеша для строки:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package main import ( "crypto/sha256" "fmt" ) func main() { data := []byte("hello world") hash := sha256.Sum256(data) fmt.Printf("%x ", hash) } |
В данном примере мы использовали функцию Sum256
для вычисления хеша строки "hello world" с помощью алгоритма SHA256.
Пример генерации случайных чисел:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
package main import ( "crypto/rand" "encoding/hex" "fmt" ) func main() { bytes := make([]byte, 16) _, err := rand.Read(bytes) if err != nil { panic(err) } fmt.Println(hex.EncodeToString(bytes)) } |
Здесь мы использовали функцию rand.Read
, чтобы заполнить байтовый срез случайными значениями, а затем преобразовали его в шестнадцатеричную строку с помощью функции hex.EncodeToString
.
Это только примеры использования криптографических функций в Go. В документации пакета crypto
можно найти более подробную информацию о доступных функциях и алгоритмах.