Condivisione della tecnologia

Spiegazione dell'hash (silenzio) della stringa C

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Cos'è l'hashish?

L'hash, noto anche come hash, è la base della crittografia. Comprendere l'hash è un prerequisito necessario per comprendere tecnologie come le firme digitali e la comunicazione crittografata.

In C++, gli hash vengono spesso utilizzati per crittografare le stringhe in modo che stringhe diverse abbiano valori diversi.

Allo stesso tempo, gli hash sono anche irreversibili, quindi vengono spesso utilizzati per crittografare le password.

Principio dell'hash

Il principio dell'hashing è in realtà molto semplice: tratta questa stringa come un numero a base multipla e quindi converte questo numero in un numero decimale. Il risultato è il risultato hash.

Processo di implementazione

Conoscendo il principio dell'hashing, è molto semplice scrivere codice.

const int base=131;//这里是将字符串看成的进制
int hash(string str) {
	int ans=0;
	for(int i=0;i<str.size();++i) ans=ans*base+(int)str[i];
	return ans;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

altro

In effetti, esistono molti metodi di hashing, come il doppio hashing. Ma in realtà è sufficiente un solo hash.

pratica

In realtà la domanda è una sola