Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでランダムな128ビット文字列を生成する方法【初心者向け解説】

Pythonでは、randomモジュールのgetrandbits()関数を使うことで、ランダムな128ビットの数値を簡単に生成できます。この関数は、引数として生成したいビット数を指定するだけで動作します。

基本的な使い方

以下のコードでは、128ビットのランダムな整数を生成し、それを16進数の文字列として表示しています。

import random

hash = random.getrandbits(128)
print(hex(hash))

実行結果

実行するたびに異なる値が出力されます。出力例は以下のとおりです。

0xa3fa6d97f4807e145b37451fc344e58c

補足:セキュリティ用途にはsecretsモジュールを推奨

random.getrandbits()は擬似乱数を生成するため、暗号学的な安全性は保証されていません。パスワードやトークンなど、セキュリティが重要な用途には、Python 3.6以降で利用可能なsecretsモジュールを使用することをおすすめします。

import secrets

secure_hash = secrets.token_hex(16)  # 128ビット = 16バイト
print(secure_hash)

このコードも実行ごとに異なる128ビット(32桁)の16進数文字列を出力しますが、暗号学的に安全な乱数生成器が使われている点が大きな違いです。

  1. Pythonで2つの文字列を連結する方法まとめ|+演算子・join()・format()などを解説

    文字列の連結(コンカティネーション)とは、2つ以上の文字列を1つに結合することを指します。例えば、「Tutorials」と「Point」という2つの文字列を連結すると「TutorialsPoint」という1つの文字列になります。 この記事では、Pythonで2つの文字列を連結するためのさまざまな方法を、コード例と実行結果とともにわかりやすく解説します。 1. 「+」演算子を使う方法 Pythonで最もシンプルな文字列連結の方法は、「+」演算子を使うことです。演算子を文字列の間に置くだけで結合でき、3つ以上の文字列の連結にも対応しています。 例 s1="Tutorials"

  2. PythonのBokehを使ってインタラクティブな散布図を生成する方法

    Bokehとは?Bokehは、Pythonでデータ可視化を行うためのオープンソースのパッケージです。最大の特徴は、HTMLとJavaScriptを使ってグラフを描画する点にあり、Webベースのダッシュボードを構築する際に特に威力を発揮します。仕組みとしては、BokehがデータソースをJSONファイルに変換し、それをJavaScriptライブラリである「BokehJS」への入力として渡します。BokehJSはTypeScriptで実装されており、モダンブラウザ上で高速に可視化をレンダリングできるのが強みです。Matplotlib・Seabornとの違いMatplotlibやSeabornが静的な