Skip to content

Crypto

AES encryption/decryption, HMAC, JWT tokens, and secure random generation.

7 modules

ModuleDescription
復号化AES暗号化を使ってデータを復号化する
暗号化AES暗号化を使ってデータを暗号化する
HMACHMAC署名を生成
JWT作成署名付きJWTトークンを作成する
JWT検証JWTトークンを検証してデコードする
ランダムバイト暗号的に安全なランダムバイトを生成
ランダム文字列暗号的に安全なランダム文字列を生成

Modules

復号化

crypto.decrypt

AES暗号化を使ってデータを復号化する

Parameters:

NameTypeRequiredDefaultDescription
ciphertextstringYes-復号化する暗号化データ
keystringYes-暗号化キー
modeselect (CBC, GCM)NoGCMAES暗号モード(CBC, GCMなど)
input_formatselect (base64, hex)Nobase64入力暗号文のフォーマット(hexまたはbase64)

Output:

FieldTypeDescription
plaintextstring復号化された平文
algorithmstring復号化に使用されたアルゴリズム

Example: Decrypt AES-GCM ciphertext

yaml
ciphertext: <base64-encoded-ciphertext>
key: my-secret-passphrase
mode: GCM

暗号化

crypto.encrypt

AES暗号化を使ってデータを暗号化する

Parameters:

NameTypeRequiredDefaultDescription
plaintextstringYes-暗号化するデータ
keystringYes-暗号化キー
modeselect (CBC, GCM)NoGCMAES暗号モード(CBC, GCMなど)
output_formatselect (base64, hex)Nobase64出力暗号文のフォーマット(hexまたはbase64)

Output:

FieldTypeDescription
ciphertextstring暗号化された暗号文
algorithmstring暗号化に使用されたアルゴリズム
modestring使用された暗号モード

Example: Encrypt with AES-GCM

yaml
plaintext: Hello, World!
key: my-secret-passphrase
mode: GCM

HMAC

crypto.hmac

HMAC署名を生成

Parameters:

NameTypeRequiredDefaultDescription
messagestringYes-署名するメッセージ
keystringYes-署名するメッセージ
algorithmselect (sha256, sha512, sha1, md5)Nosha256HMACの秘密鍵
encodingselect (hex, base64)Nohex出力エンコーディング形式

Output:

FieldTypeDescription
signaturestring出力エンコーディング形式
algorithmstringHMAC署名

JWT作成

crypto.jwt_create

署名付きJWTトークンを作成する

Parameters:

NameTypeRequiredDefaultDescription
payloadobjectYes-JWTペイロードデータ(オブジェクト)
secretstringYes-トークン署名用の秘密キー
algorithmselect (HS256, HS384, HS512, RS256)NoHS256JWT署名アルゴリズム(HS256, RS256など)
expires_innumberNo-トークンの有効期限(秒)
issuerstringNo-トークンの発行者
audiencestringNo-トークンの対象者

Output:

FieldTypeDescription
tokenstring生成されたJWTトークン
algorithmstring署名に使用されたアルゴリズム
expires_atstringトークンの有効期限タイムスタンプ

Example: Create a JWT with expiration

yaml
payload: {"sub": "user123", "role": "admin"}
secret: my-jwt-secret
algorithm: HS256
expires_in: 3600

JWT検証

crypto.jwt_verify

JWTトークンを検証してデコードする

Parameters:

NameTypeRequiredDefaultDescription
tokenstringYes-検証するJWTトークン
secretstringYes-トークン署名に使用する秘密鍵
algorithmsarrayNo['HS256']許可される署名アルゴリズム
verify_expbooleanNoTrue有効期限クレームを検証するかどうか
audiencestringNo-期待される対象者
issuerstringNo-期待される発行者クレーム

Output:

FieldTypeDescription
validbooleanトークンが有効かどうか
payloadobjectデコードされたJWTペイロード
headerobjectJWTヘッダーデータ

Example: Verify a JWT token

yaml
token: eyJhbGciOiJIUzI1NiIs...
secret: my-jwt-secret
algorithms: ["HS256"]
verify_exp: true

ランダムバイト

crypto.random_bytes

暗号的に安全なランダムバイトを生成

Parameters:

NameTypeRequiredDefaultDescription
lengthnumberYes32バイト数
encodingstringNohex出力エンコーディング

Output:

FieldTypeDescription
bytesstringランダムバイト(エンコード済み)
lengthnumberランダムバイト(エンコード済み)

ランダム文字列

crypto.random_string

暗号的に安全なランダム文字列を生成

Parameters:

NameTypeRequiredDefaultDescription
lengthnumberYes16文字列の長さ
charsetstringNoalphanumeric使用する文字
uppercasebooleanNoFalse大文字に変換

Output:

FieldTypeDescription
stringstring大文字に変換
lengthnumberランダム文字列

Released under the Apache 2.0 License.