از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
ایجاد رشته های هگزادسیمال تصادفی در پایتون
سرفصلهای مطلب
معرفی
رشته ها و رنگ های هگزا دسیمال به طور مکرر در دنیای برنامه نویسی استفاده می شوند. چه در حال تولید یک شناسه منحصر به فرد یا انتخاب یک رنگ تصادفی برای یک عنصر UI باشید، توانایی تولید رشته ها و رنگ های هگزادسیمال تصادفی ابزار خوبی است که در زرادخانه شما وجود دارد.
در این بایت، روش تولید این رشته های هگزادسیمال تصادفی را در پایتون بررسی خواهیم کرد.
ایجاد رشته های هگزادسیمال تصادفی در پایتون
رشته هگزادسیمال رشته ای از کاراکترهای مجموعه است (0-9، af). آنها اغلب در محاسبات برای نمایش داده های باینری به شکلی که برای انسان قابل خواندن تر است استفاده می شوند.
در اینجا روش ایجاد یک رشته هگزادسیمال تصادفی در پایتون آمده است:
import os
def random_hex_string(length=6):
return os.urandom(length).hex()
print(random_hex_string())
هنگامی که این اسکریپت را اجرا می کنید، یک رشته هگزادسیمال تصادفی با طول داده شده را خروجی می دهد، که در این مورد به طور پیش فرض 6
.
تبدیل اشیاء بایت به رشته
در کد بالا، ما از os.urandom()
تابعی برای تولید رشته ای از بایت های تصادفی و سپس تبدیل آن به یک رشته هگزادسیمال با .hex()
روش. این بخاطر این است که os.urandom()
در واقع یک شی بایت را برمی گرداند، که دنباله ای از اعداد صحیح در محدوده 0 <= x < 256 است، که سپس می تواند به یک رشته هگزا تبدیل شود.
import os
random_bytes = os.urandom(6)
print(type(random_bytes))
hex_string = random_bytes.hex()
print(type(hex_string))
در کد بالا ابتدا نوع شی برگردانده شده توسط را چاپ می کنیم os.urandom()
، که است <class 'bytes'>
. سپس، پس از تبدیل آن به یک رشته شش گوش با .hex()
روش، دوباره نوع را چاپ می کنیم، که اکنون است <class 'str'>
.
رشته های هگز تصادفی با random.choices()
راه دیگر برای تولید یک رشته هگزادسیمال تصادفی در پایتون استفاده از عبارت است random.choices()
تابع. این تابع فهرستی از عناصر انتخاب شده از ورودی تکرارپذیر را با جایگزینی برمی گرداند. در اینجا روش استفاده از آن آورده شده است:
import random
import string
def random_hex_string(length=6):
return ''.join(random.choices(string.hexdigits, k=length))
print(random_hex_string())
هنگامی که این اسکریپت را اجرا می کنید، یک رشته هگزادسیمال تصادفی با طول مشخص شده را خروجی می دهد. لزوماً بهتر از روش قبلی نیست، اما برای خوانایی، ممکن است برخی از افراد این روش را به استفاده از آن ترجیح دهند os.urandom()
.
رشته های هگز تصادفی با Secrets.token_hex()
پایتون secrets
ماژول، معرفی شده در پایتون 3.6، توابعی را برای تولید اعداد تصادفی امن برای مدیریت اسرار فراهم می کند. یکی از این توابع است secrets.token_hex()
، که یک رشته متن تصادفی امن در هگزادسیمال تولید می کند. در اینجا روش استفاده از آن آورده شده است:
import secrets
def random_hex_string(length=6):
return secrets.token_hex(length)
print(random_hex_string())
هنگامی که این اسکریپت را اجرا می کنید، یک رشته هگزادسیمال تصادفی امن با طول مشخص شده خروجی می دهد.
توجه داشته باشید: این secrets
ماژول باید برای تولید دادهها برای توکنهای مخفی، احراز هویت، نشانههای امنیتی و موارد مرتبط، که امنیت یک نگرانی است، استفاده شود.
نتیجه
در این بایت، روش تولید رشته های هگزادسیمال تصادفی در پایتون را توضیح داده ایم. چه از آخرین نسخه پایتون استفاده کنید چه نسخه قدیمی تر، راه های مختلفی برای رسیدن به این هدف وجود دارد.
(برچسبها به ترجمه)# python
منتشر شده در 1402-12-30 03:56:03