目录

Python Base64

目录
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import hashlib
import base64
import datetime

def testFunc(prefix='', accessKey='', secretKey=''):
    #date = datetime.datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT')
    date = 'Thu, 30 Mar 2023 11:54:47 GMT'
    method = 'PUT'
    message = f'{method}\n{date}\n{accessKey}'
    # sha1 = hashlib.sha1(f'{secretKey}{message}'.encode('utf-8')).hexdigest()
    # sha1 = bytes.fromhex(sha1)
    sha1 = hashlib.sha1(f'{secretKey}{message}'.encode('utf-8')).digest()
    sign = base64.b64encode(sha1).decode('utf-8')

    return f'{prefix} {accessKey}:{sign}'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import CryptoJS from "crypto-js";

const testFunc = (prefix = "", accessKey = "", secretKey = "") => {
  //const date = new Date().toUTCString()
  const date = "Thu, 30 Mar 2023 11:54:47 GMT";
  const method = "PUT";
  const message = `${method}\n${date}\n${accessKey}`;
  const sha1 = CryptoJS.SHA1(`${secretKey}${message}`);
  const sign = CryptoJS.enc.Base64.stringify(sha1);
  const authorization = `${prefix} ${accessKey}:${sign}`;

  console.log(authorization);
};