| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | #!/usr/bin/env python3  # -*- coding: utf-8 -*-  """@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.@AUTHOR: ASJRD018@NAME: Ansjer@software: PyCharm@DATE: 2018/6/8 15:22@Version: python3.6@MODIFY DECORD:ansjer dev@file: encryHlsVodUrl.py@Contact: chanjunkai@163.com"""# coding=utf-8# + + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + +#        ┏┓   ┏┓+ +#    ┏┛┻━━━┛┻┓ + +#    ┃       ┃  #    ┃   ━   ┃ ++ + + +#    ████━████ ┃+#    ┃       ┃ +#    ┃   ┻   ┃#    ┃       ┃ + +#    ┗━┓   ┏━┛#      ┃   ┃           #      ┃   ┃ + + + +#      ┃   ┃    Codes are far away from bugs with the animal protecting   #      ┃   ┃ +     神兽保佑,代码无bug  #      ┃   ┃#      ┃   ┃  +         #      ┃    ┗━━━┓ + +#      ┃        ┣┓#      ┃        ┏┛#      ┗┓┓┏━┳┓┏┛ + + + +#       ┃┫┫ ┃┫┫#       ┗┻┛ ┗┻┛+ + + +# + + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + +"""""""""import base64import hashlibimport timedef md5(text, isBackByte=False):    """md5加密函数"""    md5 = hashlib.md5()    if isinstance(text, bytes):        md5.update(text)    else:        md5.update(text.encode('utf-8'))    if isBackByte:        # 返回二进制的加密结果        return md5.digest()        # 返回十六进制的机密结果    return md5.hexdigest()def base64_encode(text, isBytes=False):    """进行base64编码处理"""    if isBytes:        return base64.b64encode(text)    return base64.b64encode(bytes(text, encoding="utf-8"))def get_timestamp10():    """获取当前时间长度为10位长度的时间戳"""    return int(time.time())def getSignUrl(path):    secret = 'ansjer';  # 密钥--对应#st的哈希格式为 secret+url+e,e为时间戳单位s,url为请求地址  secure_link_md5 xiaozhong.com$uri$arg_e;    # 下载到期时间,time是当前时间,300表示300秒,也就是说从现在到300秒之内文件不过期    expire = get_timestamp10() + 1800;    res = md5(str(secret) + str(path) + str(expire), True)    md5str = str(base64_encode(res, True))    md5st = md5str.replace('b\'', '').replace('\'', '').replace('+', '-').replace('/', '_').replace('=', '')    url = 'http://52.8.197.107'+path+'.m3u8?' + 'st=' + str(md5st) + '&e=' + str(expire)    return url# print('生成代相关认证签名的地址:','http://192.168.136.45:8384/hls/5553.mp4/index.m3u8?' + 'st=' + str(md5) + '&e=' + str(expire))# print('生成代相关认证签名的地址:','http://52.8.197.107/444.mp4.m3u8?' + 'st=' + str(md5) + '&e=' + str(expire))# print('生成代相关认证签名的地址:','http://d3puj5e5oiunfy.cloudfront.net/444.mp4.m3u8?' + 'st=' + str(md5) + '&e=' + str(expire))
 |