我想将我的访问密钥ID和秘密访问密钥连接在一起,这样我就可以轻松地使用Azure Key Vault轮换凭据。我很难找到生成的访问密钥ID或秘密访问密钥不会使用哪些字符来保持它们在连接字符串中分开。使用分号或冒号是否安全?
编辑:https://docs.aws.amazon.com/IAM/latest/APIReference/API_AccessKey.html表示访问密钥ID可以包含任何非空格字符,但我不确定生成的ID在实践中是否更受限制。不幸的是,没有给出秘密访问密钥的指导。空间是合理的分隔符吗?
答案 0 :(得分:1)
亚马逊实际上提供正则表达式来搜索this article中的访问密钥和秘密访问密钥,我们可以用它来说明使用了哪些字符:
搜索访问密钥ID:
(?<![A-Za-z0-9/+=])[A-Za-z0-9/+=]{40}(?![A-Za-z0-9/+=])
。在英语中,这个正则表达式说:找到20个字符,大写,字母数字字符串,它们之前或之后没有任何大写字母数字字符。搜索秘密访问密钥:
/+=
。在英语中,这个正则表达式说:找到我之前或之后没有任何64个字符的40个字符的base-64字符串。
因此,访问密钥中的字母和数字加上字符 function ConfirmOnSubmit() {
$("#checkAll").click(function () {
$(".checkBox").prop('checked',
$(this).prop('checked'));
});
$("#DivRMA").dialog({
height: 300,
width: 600,
modal: true,
title: "Return Merchandise Authorization",
buttons: {
"Return": function () {
var strids = new Array();
$('input:checkbox.checkBox').each(function () {
if ($(this).prop('checked')) {
strids.push($(this).val());
}
});
var options = {};
options.url = "/Home/Delete";
options.type = "POST";
options.data = { ECSIds: strids };
options.dataType = "json";
options.success = function (result) {
//deleted success
}
$.ajax(options);
},
"Cancel": function () {
$(this).dialog("close");
return false;
}
}
});
}
Public ActionResult Delete(string[] ECSIds)
{
//Delete Code
}
可能会出现在密钥中。这意味着分号或冒号是分隔符的安全选择。