我想在便攜C#類來實現這個邏輯:C#PCL HMACSHAX與BouncyCastle的-PCL
static JsonWebToken()
{
HashAlgorithms = new Dictionary<JwtHashAlgorithm, Func<byte[], byte[], byte[]>>
{
{ JwtHashAlgorithm.HS256, (key, value) => { using (var sha = new HMACSHA256(key)) { return sha.ComputeHash(value); } } },
{ JwtHashAlgorithm.HS384, (key, value) => { using (var sha = new HMACSHA384(key)) { return sha.ComputeHash(value); } } },
{ JwtHashAlgorithm.HS512, (key, value) => { using (var sha = new HMACSHA512(key)) { return sha.ComputeHash(value); } } }
};
}
但HMACSHA256
,HMACSHA384
和HMACSHA512
不便攜 庫中存在。
首先,我嘗試用https://github.com/AArnott/PCLCrypto 但我總是得到:An exception of type 'System.NotImplementedException' occurred in PCLCrypto.dll but was not handled in user code
然後我檢查代碼,我看到Crpyto用於PCL不落實,總是拋出一個異常
後來我發現這個庫: https://github.com/onovotny/BouncyCastle-PCL
但是沒有文檔說明如何使用它。有人可以給我一個exmaple如何實施
var sha = new HMACSHA256(key)
var sha = new HMACSHA384(key)
var sha = new HMACSHA512(key)
與BouncyCastle-PCL。
我刪除了我以前的評論指出我無法讓它工作,因爲它很有魅力!我只是修改我的代碼,以更密切地匹配Java所做的工作,但這是我需要的。很棒的一小段代碼,非常感謝分享! – Thierry