Представим, нам необходимо создать 32-байтовое рамдомное значение и закодировать его в base46. Вот как это сделать на разных скриптовых языках и средах. При этом мы убираем ненужные нам символы, такие как «+», «-«, «_» и «/’:
Python
python -c 'import os,base64; print(base64.urlsafe_b64encode(os.urandom(32)).decode())'
Bash
dd if=/dev/urandom bs=32 count=1 2>/dev/null | base64 | tr -d -- '\n' | tr -- '+/' '-_'; echo
OpenSSL
openssl rand -base64 32 | tr -- '+/' '-_'
PowerShell
# Add System.Web assembly to session, just in case
Add-Type -AssemblyName System.Web
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes([System.Web.Security.Membership]::GeneratePassword(32,4))).Replace("+","-").Replace("/","_")
Terraform
# Valid 32 Byte Base64 URL encoding set that will decode to 24 []byte AES-192 secret
resource "random_password" "cookie_secret" {
length = 32
override_special = "-_"
}
Введение архитектуры Zen 5 — это лишь часть истории. Настоящая революция от AMD заключена в мобильных процессорах…
Компания ESET в 2023 году перестала поддерживать Windows 7 и прочие устаревшие операционные системы в…
Zen 5 - новейшая и самая прогрессивная архитектура процессоров от AMD, представленная в 2024 году.…
Последние годы все чаще обнаруживаются проблемы с различными новыми семействами процессоров, как Intel, так и…
Существует несколько способов расширить зону покрытия Wi-Fi сетей: использовать усилители Wi-Fi сигнала (репитеры), настроить WDS…
Заменять аккумулятор в ноутбуках необходимо, когда он перестает удерживать заряд достаточное время или же когда…