我一直在从ColdFusion的.NET中搜索等效的以下方法/函数。我有ASP成员资格表与数据库上运行的ASP.NET站点。 ColdFusion站点使用相同的数据库。我们的想法是使用ColdFusion站点使用的当前数据库开发ASP站点。这两个站点将并行运行至少3-6个月,允许用户从任一站点连接。用户的创建也可以在任何一方发生。从.NET我有它排序。但在ColdFusion中,我仍然在苦苦挣扎。
private string GenerateSalt() {
var buf = new byte[16];
(new RNGCryptoServiceProvider()).GetBytes(buf);
return Convert.ToBase64String(buf);
}
答案 0 :(得分:2)
我发现了一些非常简单的事情。它可能不是相同的加密服务,但它生成的长度和格式与上面相同。
GenerateSecretKey("AES")
这很简单。也许这有助于将来的某些人。
答案 1 :(得分:0)
没有纯粹的CF等价物。但是,java等价物是SecureRandom:
加密强随机数最低限度符合 {4.9}中FIPS 140-2, Security Requirements for Cryptographic Modules中规定的统计随机数生成器测试。 此外,SecureRandom必须产生非确定性输出。 因此,传递给SecureRandom对象的任何种子材料都必须是 不可预测的,所有SecureRandom输出序列必须是 密码强,如RFC 1750: Randomness Recommendations for Security.
中所述
示例:强>
<cfscript>
provider = createObject("java", "java.security.SecureRandom").getInstance("SHA1PRNG");
bytes = javacast("byte[]", listToArray(repeatString("0,", 16)));
provider.nextBytes( bytes ) ;
saltInBase64 = binaryEncode( bytes, "base64");
</cfscript>