Как создать рандомное значение на разных языках

Представим, нам необходимо создать 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 = "-_"
}
[Посещений: 156, из них сегодня: 1]
Share
Опубликовал
Александр Дудкин

Свежие посты

Как посмотреть сертификат хоста через командную строку

Зачастую бывает необходимо проверить, а какой SSL сертификат отдает тот или иной хост на определенном…

21 февраля 2024

Использование choco через прокси

Choco - лучший пакетный менеджер для Windows. Чтобы использовать его в корпоративной среде за прокси,…

21 февраля 2024

Обзор SSD диска XrayDisk

В России становится все больше малоизвестных китайских товаров, поэтому сегодня у нас на обзоре китайский…

3 декабря 2023

Linux: как переместить файлы папки с заменой?

Команда mv не перемещает с перезаписью поверх папки, если таковые уже существуют, поэтому часто вместо…

15 ноября 2023

Ремонт блока питания Dell OptiPlex 7010

В Dell Optiplex 7010 в корпусе SFF устанавливается фирменный блок питания одной из модификаций H240AS-00…

14 ноября 2023

Где хранятся файлы Telegram и других программ на Android?

Файловая система Android является разновидностью Linux-подобных систем и потому унаследовала многие элементы файловой структуры и…

13 ноября 2023