Jika hal seperti itu benar-benar diinginkan, maka alih-alih hashing, Anda dapat mempertimbangkan membangun string dari nilai input numerik saat runtime.
Keuntungannya adalah seperti yang ditunjukkan oleh @Philipp, agak tidak ada gunanya untuk mencoba dan menyembunyikan kode yang dapat dieksekusi jika Anda dapat mengharapkannya diposting di internet. Hash atau tidak, kata yang sama ditemukan di internet dan dimasukkan ke dalam permainan akan memberikan hash yang sama dan akan bekerja dengan cara baik.
Kecuali ... kecuali jika kode orang lain tidak bekerja untuk Anda. Yang bisa Anda lakukan sepele - bukan 100% anti-perusakan tetapi cukup sulit untuk dikerjakan untuk pengguna biasa. Apa pun yang sesederhana "Generator nama Elven Online" akan dilakukan (bisa semena-mena sederhana, benar-benar tidak memerlukan banyak mesin gen teks markov, menarik 4-5 suku kata dari daftar acak cukup baik).
Hanya menghasilkan angka yang agak spesifik untuk pengguna atau mesin, itu bahkan tidak harus benar-benar unik atau sangat tahan-rusak. Sesuatu yang mungkin berbeda bagi kebanyakan orang, dan tidak mungkin berubah secara teratur, misalnya nama jaringan komputer, alamat MAC, atau GUID dari drive disk sistem, apa pun (nomor seri GPU mungkin sangat buruk)ide karena pengguna cenderung untuk meningkatkan GPU). Tambahkan ke kode numerik yang ditunjuk oleh kode buka kunci, dan masukkan itu ke dalam generator kata Anda. Tetapi bersiaplah untuk menjawab pertanyaan dukungan ketika pemain menggunakan dua komputer atau mengganti kartu jaringan mereka (yang tidak biasa, tetapi bukan tidak mungkin). Mungkin rencana yang bagus untuk hanya menghasilkan ID acak satu kali, dan menyimpannya dengan pengaturan game. Dengan begitu, setidaknya itu tidak merusak instalasi yang ada pada mesin yang sama jika ada perubahan.
Atau, Anda mungkin hanya menggunakan nomor seri gim yang unik dan akan berfungsi jika pengguna mengubah perangkat keras (ironisnya, bagaimanapun, ini dapat mempromosikan pembajakan karena kode buka bersama yang digunakan berfungsi untuk serial bajakan tetapi tidak untuk pelanggan yang sah!).
Perhatikan bahwa mencegah pengguna dari kecurangan tidak selalu merupakan hal yang baik. Dalam permainan offline (yaitu game yang tidak bersaing) biasanya tidak ada masalah jika pengguna menipu dan mendapatkan kode dari suatu tempat daripada dari bermain. Dia hanya menipu dirinya sendiri. Siapa peduli.
Di sisi lain, terlalu banyak menghalangi mereka jika mereka benar-benar ingin menipu adalah peluang besar untuk benar - benar mengecewakan pelanggan yang membayar.
Jadi ... sebelum Anda melakukan sesuatu seperti itu, pikirkan dengan seksama apakah Anda benar-benar menginginkan itu, dan apa yang Anda inginkan. Sangat mungkin, memiliki string yang dapat dibaca manusia (atau secara sepele membuat "tidak dapat dibaca" dengan xor) cukup baik dan memang lebih disukai.