java代码的等效vb代码
有人能告诉我这个Java代码到底做什么吗java代码的等效vb代码,java,vba,random,Java,Vba,Random,有人能告诉我这个Java代码到底做什么吗 SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); byte[] bytes = new byte[20]; synchronized (random) { random.nextBytes(bytes); } return Base64.encode(bytes); 一步一步的解释会很有用,这样我就可以在VB中重新创建这段代码。谢谢这将创建一个随机数生成器(SecureR
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
byte[] bytes = new byte[20];
synchronized (random)
{
random.nextBytes(bytes);
}
return Base64.encode(bytes);
一步一步的解释会很有用,这样我就可以在VB中重新创建这段代码。谢谢这将创建一个随机数生成器(SecureRandom)。然后创建一个长度为20字节的字节数组(byte[]bytes),并用随机数据填充该数组 然后使用BASE64对其进行编码并返回 因此,简而言之
它创建一个基于SHA1的随机数生成器(RNG),然后Base64对RNG返回的下20个字节进行编码
我不能告诉你为什么它会这样做,但是没有更多的上下文:-)。这段代码得到一个加密强随机数,长度为20字节,然后Base64对其进行编码。这里有很多Java库代码,所以关于如何在VB中实现它,你的猜测和我的一样好
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
byte[] bytes = new byte[20];
synchronized (random) { random.nextBytes(bytes); }
return Base64.encode(bytes);
第一行创建类的一个实例。此类提供一个加密强伪随机数生成器
第二行声明长度为20的字节数组
第三行将接下来的20个随机字节读入第2行中创建的数组。它在SecureRandom对象上进行同步,以便可能正在使用该对象的其他线程不会发生冲突。从这段代码中看不出您为什么需要这样做
第四行Base64对生成的字节数组进行编码。这可能用于传输、存储或以已知格式显示。使用代码片段,您可以获得类似的内容 Dim randomNumGen As RandomNumberGenerator = RNGCryptoServiceProvider.Create() Dim randomBytes(20) As Byte randomNumGen.GetBytes(randomBytes) return Convert.ToBase64String(randomBytes) Dim randomNumGen As RandomNumberGenerator=RNGCryptoServiceProvider.Create() 将随机字节(20)设置为字节 randomNumGen.GetBytes(随机字节) 返回Convert.tobase64字符串(随机字节)
基本上,上述代码: