【发布时间】:2019-10-08 02:43:37
【问题描述】:
【问题讨论】:
-
RsaSHA256Signer的完全限定名称是什么,因为它不在 Java SE API 中。
标签: java c# java.time.instant
【问题讨论】:
RsaSHA256Signer 的完全限定名称是什么,因为它不在 Java SE API 中。
标签: java c# java.time.instant
我不是 100% 确定,但可能是以下情况。
https://blogs.msdn.microsoft.com/shawnfa/2008/08/25/using-rsacryptoserviceprovider-for-rsa-sha256-signatures/ 用于 RsaSHA256Signer
所以代码看起来像这样:
byte[] data = new byte[] { 0, 1, 2, 3, 4, 5 };
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
byte[] signature = rsa.SignData(data, "SHA256");
if (rsa.VerifyData(data, "SHA256", signature))
{
Console.WriteLine("RSA-SHA256 signature verified");
}
else
{
Console.WriteLine("RSA-SHA256 signature failed to verify");
}
}
例如:
Java:
Instant instant = Instant.now();
C#:
DateTime localDate = DateTime.UtcNow;
https://docs.microsoft.com/en-us/dotnet/api/system.datetime.now?view=netframework-4.8
另外,您可以查找Noda Time,这是一个流行的库。
【讨论】:
DateTime.Now 更改为DateTime.UtcNow,因为Instant.now() 不受系统本地时区的影响,但DateTime.Now 是。