python中是否有与flask相关的软件包,它们会自动生成sri令牌并进行处理?
我尝试搜索Flask文档,但找不到它。
如果有办法或者应该手动进行操作,请告诉我该怎么做。
解决方案:
用于生成哈希值的功能
def generate_sri(inp_file): BUF_SIZE = 65536 散列= hashlib.sha256()
with open(inp_file, 'rb') as f:
while True:
data = f.read(BUF_SIZE)
if not data:
break
hashed.update(data)
hashed = hashed.digest()
hash_base64 = base64.b64encode(hashed).decode('utf-8')
return 'sha256-{}'.format(hash_base64)
app.jinja_env.globals['sri'] = generate_sri
<script src="{{ url_for('static', filename='file.js') }}" integrity="{{ sri(url_for('static', filename='file.js')) }}" crossorigin="anonymous"></script>