Teknologian jakaminen

C-merkkijono hash (hush) selitys

2024-07-12

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


Mikä on hash

Hash, joka tunnetaan myös nimellä hash, on salauksen perusta. Hajautus on välttämätön edellytys digitaalisten allekirjoitusten ja salatun viestinnän ymmärtämiselle.

C++:ssa tiivisteitä käytetään usein merkkijonojen salaamiseen niin, että eri merkkijonoilla on eri arvot.

Samanaikaisesti tiivisteet ovat myös peruuttamattomia, joten niitä käytetään usein salasanojen salaamiseen.

Hash-periaate

Hajautusperiaate on itse asiassa hyvin yksinkertainen. Se on käsitellä tätä merkkijonoa monikantaisena numerona ja sitten muuntaa tämä luku desimaaliluvuksi.

Toteutusprosessi

Tuntemalla hajautusperiaatteen, koodin kirjoittaminen on erittäin helppoa.

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

muu

Itse asiassa on olemassa monia hajautusmenetelmiä, kuten kaksoistiivistys. Mutta itse asiassa vain yksi hash riittää.

harjoitella

Itse asiassa on vain yksi kysymys