forked from stoneson/Vive.Crypto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CryptoFactory.cs
69 lines (68 loc) · 2.59 KB
/
CryptoFactory.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using System;
using System.Collections.Generic;
using System.Text;
namespace Vive.Crypto
{
/// <summary>
/// 所有加密创建工厂
/// </summary>
public sealed class CryptoFactory
{
/// <summary>
/// 创建哈希加密提供程序
/// </summary>
/// <param name="providerTypestr"></param>
/// <returns></returns>
public static IHashingProvider CreateHashing(string providerTypestr = "SHA256")
{
return HashingProviderFactory.Create(providerTypestr);
}
/// <summary>
/// 创建哈希加密提供程序
/// </summary>
/// <param name="providerType"></param>
/// <returns></returns>
public static IHashingProvider CreateHashing(HashingProviderType providerType = HashingProviderType.SHA256)
{
return HashingProviderFactory.Create(providerType);
}
//---------------------------------------------------------------------------------------------------------------------
/// <summary>
/// 创建非对称加密提供程序
/// </summary>
/// <param name="providerTypestr"></param>
/// <returns></returns>
public static IAsymmetricProvider CreateAsymmetric(string providerTypestr = "RSA")
{
return AsymmetricProviderFactory.Create(providerTypestr);
}
/// <summary>
/// 创建非对称加密提供程序
/// </summary>
/// <param name="providerType"></param>
/// <returns></returns>
public static IAsymmetricProvider CreateAsymmetric(AsymmetricProviderType providerType = AsymmetricProviderType.RSA)
{
return AsymmetricProviderFactory.Create(providerType);
}
//---------------------------------------------------------------------------------------------------------------------
/// <summary>
/// 创建对称加密提供程序
/// </summary>
/// <param name="providerTypestr"></param>
/// <returns></returns>
public static ISymmetricProvider CreateSymmetric(string providerTypestr = "SM4")
{
return SymmetricProviderFactory.Create(providerTypestr);
}
/// <summary>
/// 创建对称加密提供程序
/// </summary>
/// <param name="providerType"></param>
/// <returns></returns>
public static ISymmetricProvider CreateSymmetric(SymmetricProviderType providerType = SymmetricProviderType.SM4)
{
return SymmetricProviderFactory.Create(providerType);
}
}
}