그러한 것이 실제로 필요한 경우 해싱 대신 런타임에 숫자 입력 값에서 문자열을 작성하는 것을 고려할 수 있습니다.
장점은 @Philipp이 지적한 것처럼 어쨌든 인터넷에 게시 될 것으로 예상되는 경우 실행 파일에서 코드를 숨기려고 시도하는 것이 다소 의미가 없다는 것입니다. 해시 여부에 상관없이 인터넷에서 발견되어 게임에 입력 된 동일한 단어가 동일한 해시를 제공하며 어느 쪽이든 작동합니다.
... 제외하는 것은 제외하고 누군가 다른 사람의 코드는 경우 작동하지 않습니다 당신을 위해. 100 % 변조 방지가 아니라 일반 사용자를 위해 합리적으로 해결하기가 쉽지 않습니다. "Online Elven 이름 생성기"처럼 간단한 작업도 가능합니다 (임의적으로 간단 할 수 있습니다. 실제로 임의의 목록에서 4-5 음절을 가져 오는 것으로 충분한 markov 텍스트 생성 엔진이 필요하지 않습니다).
사용자 별 또는 컴퓨터 별 번호를 생성하기 만하면 완벽하게 고유하거나 조작 방지 기능이 없어도됩니다. 컴퓨터의 네트워크 이름, MAC 주소 또는 시스템 디스크 드라이브의 GUID와 같이 대부분의 사람들에게 다를 수 있고 정기적으로 변경되지 않는 것 (GPU 일련 번호가 매우 나쁠 수 있음)사용자가 GPU를 업그레이드 할 가능성이 있기 때문에 아이디어). 잠금 해제 코드가 참조하는 숫자 코드를 단어 생성기에 추가하십시오. 그러나 플레이어가 두 대의 컴퓨터를 사용하거나 네트워크 카드를 변경하는 경우 지원 쿼리에 응답 할 수 있도록 준비하십시오 (이례적이지만 불가능하지는 않음). 랜덤 ID를 한 번만 생성하고 게임 설정과 함께 저장하는 것이 좋습니다. 이런 식으로, 최소한 변경 사항이있을 경우 동일한 시스템에서 기존 설치를 중단하지 않습니다.
또는 사용자가 하드웨어를 변경하면 고유 한 게임 일련 번호를 사용할 수도 있습니다 (그러나 아이러니하게도 공유 잠금 해제 코드는 불법 복제 된 일련 번호에는 작동하지만 합법적 인 고객에게는 적용되지 않기 때문에 불법 복제를 유발할 수 있습니다).
사용자의 부정 행위를 방지하는 것이 반드시 좋은 것은 아닙니다. 오프라인 (즉, 비 경쟁적 게임)에서는 사용자 가 게임을하는 대신 어딘가 에서 부정 행위를하고 코드를 가져 오더라도 문제가되지 않습니다 . 그는 자신을 속이고 있습니다. 누가 신경 쓰겠 어?
반면에, 실제로 속임수를 쓰고 싶다면 너무 많은 돈을 버는 것은 유료 고객 을 완전히 화나게 할 수있는 좋은 기회입니다 .
그러니까 ... 그렇게하기 전에 정말 원하는지, 원하는지를 철저히 생각하십시오. 아마도 사람이 읽을 수있는 문자열 (또는 xor로 "읽을 수없는"문자열)을 만드는 것만으로도 충분하고 실제로 선호됩니다.