Обмен технологиями

Объяснение хеша строки C (замалчивание)

2024-07-12

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


Что такое хэш

Хэш, также известный как хэш, является основой криптографии. Понимание хеша является необходимой предпосылкой для понимания таких технологий, как цифровые подписи и зашифрованная связь.

В C++ хеши часто используются для шифрования строк, чтобы разные строки имели разные значения.

В то же время хеши также необратимы, поэтому их часто используют для шифрования паролей.

Принцип хеширования

Принцип хеширования на самом деле очень прост. Он заключается в том, чтобы рассматривать эту строку как многобазовое число, а затем преобразовать это число в десятичное число. Результатом является результат хеширования.

Процесс реализации

Зная принцип хеширования, написать код очень просто.

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

другой

На самом деле существует множество методов хеширования, например двойное хеширование. Но на самом деле достаточно только одного хеша.

упражняться

На самом деле есть только один вопрос