@@ -30,7 +30,7 @@ private static string GetRandomStr(int length)
30
30
StringBuilder num = new StringBuilder ( ) ;
31
31
32
32
Random rnd = new Random ( DateTime . Now . Millisecond ) ;
33
- for ( int i = 0 ; i < length ; i ++ )
33
+ for ( int i = 0 ; i < length ; i ++ )
34
34
{
35
35
num . Append ( arrChar [ rnd . Next ( 0 , arrChar . Length ) ] . ToString ( ) ) ;
36
36
}
@@ -354,27 +354,56 @@ public static string DESDecrypt(string data, string key)
354
354
/// <param name="srcString">src string</param>
355
355
/// <returns>encrypted string</returns>
356
356
public static string RSAEncrypt ( string publicKey , string srcString )
357
+ {
358
+ string encryptStr = RSAEncrypt ( publicKey , srcString , RSAEncryptionPadding . Pkcs1 ) ;
359
+ return encryptStr ;
360
+ }
361
+
362
+ /// <summary>
363
+ /// RSA encrypt
364
+ /// </summary>
365
+ /// <param name="publicKey">public key</param>
366
+ /// <param name="srcString">src string</param>
367
+ /// <param name="padding">rsa encryptPadding <see cref="RSAEncryptionPadding"/> RSAEncryptionPadding.Pkcs1 for linux/mac openssl </param>
368
+ /// <returns>encrypted string</returns>
369
+ public static string RSAEncrypt ( string publicKey , string srcString , RSAEncryptionPadding padding )
357
370
{
358
371
Check . Argument . IsNotEmpty ( publicKey , nameof ( publicKey ) ) ;
359
372
Check . Argument . IsNotEmpty ( srcString , nameof ( srcString ) ) ;
373
+ Check . Argument . IsNotNull ( padding , nameof ( padding ) ) ;
360
374
361
375
using ( RSA rsa = RSA . Create ( ) )
362
376
{
363
377
rsa . FromJsonString ( publicKey ) ;
364
- byte [ ] encryptBytes = rsa . Encrypt ( Encoding . UTF8 . GetBytes ( srcString ) , RSAEncryptionPadding . Pkcs1 ) ;
378
+ byte [ ] encryptBytes = rsa . Encrypt ( Encoding . UTF8 . GetBytes ( srcString ) , padding ) ;
365
379
return encryptBytes . ToHexString ( ) ;
366
380
}
367
381
}
382
+
368
383
/// <summary>
369
384
/// RSA decrypt
370
385
/// </summary>
371
386
/// <param name="privateKey">private key</param>
372
387
/// <param name="srcString">encrypted string</param>
373
388
/// <returns>Decrypted string</returns>
374
389
public static string RSADecrypt ( string privateKey , string srcString )
390
+ {
391
+ string decryptStr = RSADecrypt ( privateKey , srcString , RSAEncryptionPadding . Pkcs1 ) ;
392
+ return decryptStr ;
393
+ }
394
+
395
+ /// <summary>
396
+ /// RSA encrypt
397
+ /// </summary>
398
+ /// <param name="publicKey">public key</param>
399
+ /// <param name="srcString">src string</param>
400
+ /// <param name="padding">rsa encryptPadding <see cref="RSAEncryptionPadding"/> RSAEncryptionPadding.Pkcs1 for linux/mac openssl </param>
401
+ /// <returns>encrypted string</returns>
402
+ public static string RSADecrypt ( string privateKey , string srcString , RSAEncryptionPadding padding )
375
403
{
376
404
Check . Argument . IsNotEmpty ( privateKey , nameof ( privateKey ) ) ;
377
405
Check . Argument . IsNotEmpty ( srcString , nameof ( srcString ) ) ;
406
+ Check . Argument . IsNotNull ( padding , nameof ( padding ) ) ;
378
407
379
408
using ( RSA rsa = RSA . Create ( ) )
380
409
{
@@ -408,7 +437,7 @@ public static RSAKey CreateRsaKey(RsaSize rsaSize = RsaSize.R2048)
408
437
{
409
438
using ( RSA rsa = RSA . Create ( ) )
410
439
{
411
- rsa . KeySize = ( int ) RsaSize . R2048 ;
440
+ rsa . KeySize = ( int ) RsaSize . R2048 ;
412
441
413
442
string publicKey = rsa . ToJsonString ( false ) ;
414
443
string privateKey = rsa . ToJsonString ( true ) ;
@@ -732,7 +761,7 @@ private static string CreateMachineKey(int length)
732
761
rng . GetBytes ( random ) ;
733
762
734
763
StringBuilder machineKey = new StringBuilder ( length ) ;
735
- for ( int i = 0 ; i < random . Length ; i ++ )
764
+ for ( int i = 0 ; i < random . Length ; i ++ )
736
765
{
737
766
machineKey . Append ( string . Format ( "{0:X2}" , random [ i ] ) ) ;
738
767
}
0 commit comments