기술나눔

C 문자열 해시(자장) 설명

2024-07-12

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


해시 란 무엇입니까?

해시라고도 알려진 해시는 암호화의 기초입니다. 해시를 이해하는 것은 디지털 서명, 암호화된 통신과 같은 기술을 이해하는 데 필요한 전제 조건입니다.

C++에서는 해시가 문자열을 암호화하는 데 자주 사용되므로 서로 다른 문자열이 서로 다른 값을 갖습니다.

동시에 해시는 되돌릴 수 없으므로 비밀번호를 암호화하는 데 자주 사용됩니다.

해시 원리

해싱의 원리는 실제로 매우 간단합니다. 이 문자열을 다중 염기 숫자로 처리한 다음 이 숫자를 10진수로 변환하면 결과가 해시 결과가 됩니다.

구현 프로세스

해싱의 원리를 알면 코드를 작성하는 것은 매우 간단합니다.

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

다른

실제로 이중 해싱 등 많은 해싱 방법이 있습니다. 그러나 실제로는 하나의 해시만으로 충분합니다.

관행

사실 질문은 하나뿐이에요