小编rad*_*rad的帖子

如何使用带有RSA私钥的RS256在C#中创建加密的JWT

我正在使用jose-jwt库,并希望使用RS256算法在C#中创建加密的JWT进行加密.我没有密码学的经验,所以请原谅我的无知.我在文档中看到以下示例:

var payload = new Dictionary<string, object>()
{
    { "sub", "mr.x@contoso.com" },
    { "exp", 1300819380 }
};

var privateKey=new X509Certificate2("my-key.p12", "password", X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet).PrivateKey as RSACryptoServiceProvider;

string token=Jose.JWT.Encode(payload, privateKey, JwsAlgorithm.RS256);
Run Code Online (Sandbox Code Playgroud)

它显示了p12文件的使用,但我如何使用下面表格的RSA密钥文件?我正在查看X509Certificate2的文档,但我看不到RSA私钥的选项.它似乎只接受PKCS7,我理解为公钥.

-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUp
wmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5
1s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQABAoGAFijko56+qGyN8M0RVyaRAXz++xTqHBLh
3tx4VgMtrQ+WEgCjhoTwo23KMBAuJGSYnRmoBZM3lMfTKevIkAidPExvYCdm5dYq3XToLkkLv5L2
pIIVOFMDG+KESnAFV7l2c+cnzRMW0+b6f8mR1CJzZuxVLL6Q02fvLi55/mbSYxECQQDeAw6fiIQX
GukBI4eMZZt4nscy2o12KyYner3VpoeE+Np2q+Z3pvAMd/aNzQ/W9WaI+NRfcxUJrmfPwIGm63il
AkEAxCL5HQb2bQr4ByorcMWm/hEP2MZzROV73yF41hPsRC9m66KrheO9HPTJuo3/9s5p+sqGxOlF
L0NDt4SkosjgGwJAFklyR1uZ/wPJjj611cdBcztlPdqoxssQGnh85BzCj/u3WqBpE2vjvyyvyI5k
X6zk7S0ljKtt2jny2+00VsBerQJBAJGC1Mg5Oydo5NwD6BiROrPxGo2bpTbu/fhrT8ebHkTz2epl
U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
37sJ5QsW+sJyoNde3xH8vdXhzU7eT82D6X/scw9RZz+/6rCJ4p0=
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

最后,文档中列出的两个选项有什么区别,我如何在两者之间做出选择?

- - - - - - - - - - - - - 选项1 - - - - - …

c# encryption rsa sha256 jwt

11
推荐指数
4
解决办法
2万
查看次数

JWT编码的原因是什么?

据我所知,关于 JWT 的安全性,如果 JWT 令牌不包含敏感信息,我们只使用其签名功能,使其内容无法被操纵。否则,如果它包含敏感数据,可以对其进行加密以防止数据被嗅探。另外,如果需要,也可以同时使用两者。
\n但是,我不明白的是为什么令牌不是普通的 json?为什么它是编码的,而它可以很容易解码?它有安全原因还是背后有其他原因?
\n我搜索了网络,还快速浏览了RFC 7519,但我无法\xe2\x80\x99 找到任何清晰且令人信服的答案。

\n

base64 encoding jwt

7
推荐指数
1
解决办法
1417
查看次数

EF Core 一对多关系列表返回 null

我正在尝试学习如何在 EF Core 中正确使用 DbContext。我有一个团队课程:

public class Team 
{
    public int ID { get; set; }
    public string Name { get; set; }
    public bool CanSelfManage { get; set; } = false;
    public virtual List<Mileage> Mileages { get; set; }
    public IdentityUser Member { get; set; }
    public string State { get; set; }
    public List<Horse> Horses { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

还有一个里程类:

public class Mileage
{
    public int ID { get; set; }
    public virtual Team Team { get; …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework ef-code-first entity-framework-migrations

2
推荐指数
1
解决办法
2507
查看次数

更新替换 SQL 中的分号出现语法错误

我将 SQL 文件导入到数据库中,但出现问题。句子/短语末尾的所有标点符号都有额外的空格。

例子:

This is a sentence .
This , as you can see , is a problem .
Do it !
Run Code Online (Sandbox Code Playgroud)

应该:

This is a sentence.
This, as you can see, is a problem.
Do it!
Run Code Online (Sandbox Code Playgroud)

为了更正,我计划在这种情况下在 phpMyAdmin 上运行 SQL 命令

UPDATE book SET content = REPLACE(content,' .','.');
UPDATE book SET content = REPLACE(content,' ,',',');
UPDATE book SET content = REPLACE(content,' ?','?');
UPDATE book SET content = REPLACE(content,' !','!');
UPDATE book SET content = REPLACE(content,' :',':');
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。但是当我在这样的分号上尝试时

UPDATE …
Run Code Online (Sandbox Code Playgroud)

mysql sql replace sql-update

1
推荐指数
1
解决办法
1344
查看次数