-
Notifications
You must be signed in to change notification settings - Fork 0
SaveIntegrityUtility (pt)
Essa é uma classe estática que fornece os métodos para embaralhar e desembaralhar bytes, e também para gerar uma hash SHA-256.
- originalBytes: Lista dos bytes originais a serem embaralhados.
- seed: Semente para ser usada no gerador de números aleatórios.
Esse método embaralha os bytes da seguinte maneira: Ele gera uma ordem de embaralhamento pelo método GetOrder() que retorna uma lista de números embaralhados, em seguida um laço for é rodado de acordo com a quantidade de bytes da lista, pegando cada posição de um byte que foi gerada pela lista de números embaralhados e adicionando em um array. Em seguida, retornando em uma lista de bytes.
Exemplo: Temos o seguinte texto que seriam nossos bytes: ABCDE e a nossa ordem gerada foi: 3 2 0 1 4
A posição original seria essa:
A B C D E
0 1 2 3 4
Passando pra um array de forma embaralhada:
D C A B E
3 2 0 1 4
- shuffledBytes: Lista dos bytes originais a serem deembaralhados.
- seed: Semente que foi usada no gerador de números aleatórios.
Esse método desembaralha os bytes de acordo com a seed usada no embaralhamento. Se uma outra seed for usada, o desembaralhamento retornará a ordem errada.
- content: Conteúdo a ser gerado uma hash.
- salt: "Sal" a ser adicionado ao conteúdo.
Esse método retorna a hash do conteúdo junto com um "sal", deixando a hash mais única e dificultando a injeção de uma hash.
- bytesSize: Quantidade de bytes.
- seed: Semente a ser usada no gerador de números aleatórios.
Esse método gera inicialmente uma lista de números possíveis com base na quantidade bytes, em seguida ele vai movendo a posição gerada pra uma nova lista de números através de um laço de repetição while.