1

为了向文档检索 API 进行身份验证,我使用预请求脚本将加密字符串作为称为密文的自定义标头值传递。有没有更好/更清洁的方法来做到这一点?

var interface_name = "interface name";
var password = "12344576789";
var keySize = 256;
var ivSize = 128;
var iterations = 100;
var isoDate = new Date().toISOString();
var namedate = interface_name + '&' + isoDate;

pm.globals.set("interface_name", interface_name);
pm.globals.set("iterate", iterations);
pm.globals.set("strenth", keySize);

function encrypt(namedate, password) {
  var salt = CryptoJS.lib.WordArray.random(ivSize / 8);

  var key = CryptoJS.PBKDF2(password, salt, {
    keySize: keySize / 32,
    iterations: iterations
  });

  var iv = CryptoJS.lib.WordArray.random(ivSize / 8);

  pm.globals.set("salt", salt.toString());
  pm.globals.set("iv", iv.toString());

  var encrypted = CryptoJS.AES.encrypt(namedate, key, {
    iv: iv,
    padding: CryptoJS.pad.Pkcs7,
    mode: CryptoJS.mode.CBC
  });

  var ciphertext = salt.toString() + iv.toString() + encrypted.toString();
  return ciphertext;
}

var encrypted = encrypt(namedate, password);
pm.globals.set("ciphertext", encrypted);

4

0 回答 0