Представим, нам необходимо создать 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 = "-_"
}
Процессы и программы Программа в Unix — это последовательность исполняемых инструкций на диске. Вы можете…
Существует большое разнообразие форматов, в которых создаются сертификаты и приватные ключи для них. Часто они…
Все известно, что Докерхаб закрыл доступ для пользователей из санкционных стран, включая РФ и РБ.…
Зачастую бывает необходимо проверить, а какой SSL сертификат отдает тот или иной хост на определенном…
Choco - лучший пакетный менеджер для Windows. Чтобы использовать его в корпоративной среде за прокси,…
В России становится все больше малоизвестных китайских товаров, поэтому сегодня у нас на обзоре китайский…