Не пытайтесь создать свой собственный алгоритм хеширования или шифрования. Если вы не являетесь экспертом в этой области, вы, скорее всего, все испортите. Используйте существующий алгоритм, разработанный людьми, которые действительно знали, что они делают, реализованный людьми, которые знали, что они делают, и это было опробовано и проверено.
При этом мне непонятно, что вы хотите хэшировать:
Если это одно число с 11 цифрами, вы можете сохранить его в 64-разрядном целом числе (long long int
в C). Будет ли вариант просто считать число уже хешем?
Если это 11-пучок, то есть, например, 11 32-разрядных чисел, тогда используйте существующий алгоритм, такой как MD5, SHA-1 или , какой бы вам ни понравился , который поддерживается вашей системой, например, OpenSSL. OpenSSL также поддерживает использование выделенных крипто-чипов и расширений вашего ЦП (как и все варианты MMX, но даже выделенные расширения для ускорения алгоритмов, таких как AES, которые предоставляют несколько процессоров), поэтому скорость не должна быть проблемой.