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

Представим, нам необходимо создать 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 = "-_"
}
[Посещений: 196, из них сегодня: 1]

Свежие посты

Расширение Wi-Fi сети на примере Mikrotik

Существует несколько способов расширить зону покрытия Wi-Fi сетей: использовать усилители Wi-Fi сигнала (репитеры), настроить WDS…

22 июля 2025

Замена аккумуляторов в ноутбуках

Заменять аккумулятор в ноутбуках необходимо, когда он перестает удерживать заряд достаточное время или же когда…

16 июля 2025

Проблема с обнаружением Wi-Fi сетей Mikrotik

Проблема: в роутере Mikrotik настроены Wi-Fi 6 сети на частоте 2.4 и 5 ГГц, они…

14 июля 2025

Апгрейд и замена SSD диска в MacBook: тонкости

Апгрейд и замена диска в Макбук практически всегда возможны, но в зависимости от поколения ноутбука…

11 июля 2025

Увеличение памяти компьютера: как выбрать китайскую память

Апгрейд памяти в компьютере дело не такое уж и сложное: выбрать совместимую планку и установить…

11 июля 2025

Как проапгрейдить WiFi и Bluetooth в ноутбуке: полное руководство

В этой статье мы озадачились апгрейдом Wi-Fi и Bluetooth в ноутбуке. Казалось бы, процедура не…

10 июля 2025