Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
HmacSha512.cs
1
using
System.Security.Cryptography
;
2
using
System.Text;
3
using
Waher.Content
;
4
5
namespace
Waher.Security.JWS
6
{
10
public
class
HmacSha512
:
HmacSha
11
{
12
private
HMACSHA512 hmacSHA512;
13
17
public
HmacSha512
()
18
{
19
using
(RandomNumberGenerator Rnd = RandomNumberGenerator.Create())
20
{
21
byte
[] Secret =
new
byte
[64];
22
Rnd.GetBytes(Secret);
23
24
this.Init(Secret);
25
}
26
}
27
32
public
HmacSha512
(
byte
[] Secret)
33
{
34
this.Init(Secret);
35
}
36
37
private
void
Init(
byte
[] Secret)
38
{
39
this.hmacSHA512 =
new
HMACSHA512(Secret);
40
}
41
43
public
override
void
Dispose
()
44
{
45
if
(!(this.hmacSHA512 is
null
))
46
{
47
this.hmacSHA512.Dispose();
48
this.hmacSHA512 =
null
;
49
}
50
}
51
55
public
override
string
Name
=>
"HS512"
;
56
63
public
override
string
Sign
(
string
HeaderEncoded,
string
PayloadEncoded)
64
{
65
byte
[] SignatureBin;
66
string
Token = HeaderEncoded +
"."
+ PayloadEncoded;
67
byte
[] TokenBin = Encoding.ASCII.GetBytes(Token);
68
69
lock (this.hmacSHA512)
70
{
71
SignatureBin = this.hmacSHA512.ComputeHash(TokenBin);
72
}
73
74
return
Base64Url
.
Encode
(SignatureBin);
75
}
76
}
77
}
Waher.Content.Base64Url
Static class that does BASE64URL encoding (using URL and filename safe alphabet), as defined in RFC46...
Definition:
Base64Url.cs:11
Waher.Content.Base64Url.Encode
static string Encode(byte[] Data)
Converts a binary block of data to a Base64URL-encoded string.
Definition:
Base64Url.cs:48
Waher.Security.JWS.HmacSha512
HMAC SHA-512 algorithm.
Definition:
HmacSha512.cs:11
Waher.Security.JWS.HmacSha512.Dispose
override void Dispose()
IDisposable.Dispose
Definition:
HmacSha512.cs:43
Waher.Security.JWS.HmacSha512.Sign
override string Sign(string HeaderEncoded, string PayloadEncoded)
Signs data.
Definition:
HmacSha512.cs:63
Waher.Security.JWS.HmacSha512.Name
override string Name
Short name for algorithm.
Definition:
HmacSha512.cs:55
Waher.Security.JWS.HmacSha512.HmacSha512
HmacSha512(byte[] Secret)
HMAC SHA-512 algorithm.
Definition:
HmacSha512.cs:32
Waher.Security.JWS.HmacSha512.HmacSha512
HmacSha512()
HMAC SHA-512 algorithm.
Definition:
HmacSha512.cs:17
Waher.Security.JWS.HmacSha
Abstract base class for HMAC SHA JWS algorithms.
Definition:
HmacSha.cs:7
System.Security.Cryptography
Definition:
SafeTypes.g.cs:3565
Waher.Content
Definition:
Array.cs:6
Waher.Security.JWS
Definition:
HS256.cs:9
IoTGateway
Security
Waher.Security.JWS
HmacSha512.cs
Generated by
1.9.5