前回(004)のsha1に加えsha2のハッシュ化に関しても紹介します。
※sha2とは
from flask import Flask, jsonify, abort, make_response import hashlib # Flaskクラスのインスタンスを作成 api = Flask(__name__) api.config['JSON_AS_ASCII'] = False #日本語の文字化け制御 # GETの実装 @api.route('/sha224/<msg>', methods=['GET']) def test(msg): sha224 = hashlib.sha224(msg.encode('utf-8')).hexdigest() #エンコード必須 result = { "sha224": sha224 } return make_response(jsonify(result)) @api.route('/sha256/<msg>', methods=['GET']) def test2(msg): sha256 = hashlib.sha256(msg.encode('utf-8')).hexdigest() #エンコード必須 result = { "sha256": sha256 } return make_response(jsonify(result)) @api.route('/sha384/<msg>', methods=['GET']) def test3(msg): sha384 = hashlib.sha384(msg.encode('utf-8')).hexdigest() #エンコード必須 result = { "sha384": sha384 } return make_response(jsonify(result)) @api.route('/sha512/<msg>', methods=['GET']) def test4(msg): sha512 = hashlib.sha512(msg.encode('utf-8')).hexdigest() #エンコード必須 result = { "sha512": sha512 } return make_response(jsonify(result)) # エラーハンドリング @api.errorhandler(404) def not_found(error): return make_response(jsonify({'error': 'Not found'}), 404) # ファイルをスクリプトとして実行した際に # ホスト0.0.0.0, ポート3001番でサーバーを起動 if __name__ == '__main__': api.run(host='0.0.0.0', port=3001)