@@ -13,11 +13,22 @@ public static Guid GenerateJobTypeId(string queueName)
1313 {
1414 var key = GenerateJobTypeName ( queueName ) ;
1515
16- using var hasher = MD5 . Create ( ) ;
16+ if ( CryptoConfig . AllowOnlyFipsAlgorithms )
17+ {
18+ using var hasher = SHA256 . Create ( ) ;
1719
18- var data = hasher . ComputeHash ( Encoding . UTF8 . GetBytes ( key ) ) ;
20+ var data = hasher . ComputeHash ( Encoding . UTF8 . GetBytes ( key ) ) ;
1921
20- return new Guid ( data ) ;
22+ return new Guid ( new ReadOnlySpan < byte > ( data , 0 , 16 ) . ToArray ( ) ) ;
23+ }
24+ else
25+ {
26+ using var hasher = MD5 . Create ( ) ;
27+
28+ var data = hasher . ComputeHash ( Encoding . UTF8 . GetBytes ( key ) ) ;
29+
30+ return new Guid ( data ) ;
31+ }
2132 }
2233
2334 public static string GenerateJobTypeName ( string queueName )
@@ -39,11 +50,22 @@ public static Guid GenerateRecurringJobId(string jobName)
3950 {
4051 var key = GenerateJobTypeName ( jobName ) ;
4152
42- using var hasher = MD5 . Create ( ) ;
53+ if ( CryptoConfig . AllowOnlyFipsAlgorithms )
54+ {
55+ using var hasher = SHA256 . Create ( ) ;
56+
57+ var data = hasher . ComputeHash ( Encoding . UTF8 . GetBytes ( key ) ) ;
58+
59+ return new Guid ( new ReadOnlySpan < byte > ( data , 0 , 16 ) . ToArray ( ) ) ;
60+ }
61+ else
62+ {
63+ using var hasher = MD5 . Create ( ) ;
4364
44- var data = hasher . ComputeHash ( Encoding . UTF8 . GetBytes ( key ) ) ;
65+ var data = hasher . ComputeHash ( Encoding . UTF8 . GetBytes ( key ) ) ;
4566
46- return new Guid ( data ) ;
67+ return new Guid ( data ) ;
68+ }
4769 }
4870
4971 public static string GenerateJobTypeName ( string jobName )
0 commit comments