1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-20 10:13:42 +00:00

[PM-192] Refactor forwarded email providers (#2579)

* PM-192 Refactor Forwarded email providers to use better patterns and code reuse.

* PM-192 fix format
This commit is contained in:
Federico Maccaroni
2023-06-27 18:49:38 -03:00
committed by GitHub
parent 3506269811
commit 1014563c75
20 changed files with 547 additions and 459 deletions

View File

@@ -14,6 +14,8 @@ namespace Bit.Core.Services
{
public class CryptoService : ICryptoService
{
private const string RANDOM_STRING_CHARSET = "abcdefghijklmnopqrstuvwxyz1234567890";
private readonly IStateService _stateService;
private readonly ICryptoFunctionService _cryptoFunctionService;
@@ -633,6 +635,22 @@ namespace Bit.Core.Services
return (int)(min + (ui % diff));
}
/// <summary>
/// Makes random string with length <paramref name="length"/> based on the charset <see cref="RANDOM_STRING_CHARSET"/>
/// </summary>
public async Task<string> RandomStringAsync(int length)
{
var sb = new StringBuilder();
for (var i = 0; i < length; i++)
{
var randomCharIndex = await RandomNumberAsync(0, RANDOM_STRING_CHARSET.Length - 1);
sb.Append(RANDOM_STRING_CHARSET[randomCharIndex]);
}
return sb.ToString();
}
// Helpers
private async Task<EncryptedObject> AesEncryptAsync(byte[] data, SymmetricCryptoKey key)