Math 如何将数据分解为大小合适的部分

Math 如何将数据分解为大小合适的部分,math,hash,cryptography,Math,Hash,Cryptography,我正在编写一个多长度输出散列函数,但我遇到了一个绊脚石:如何分解输入数据,使程序不必处理非常长的列表或对给定数据运行太多循环 a=以字节为单位的输入长度,a>=0 b=以半字节为单位的输出长度,b>0 在运行实际哈希之前,对数据进行最小填充,因此输入长度基本上与填充后的长度相同。 数据被分解成n个大小的片段,并扩展成一个列表 谁能想出一个f(a)或f(a,b)? 如果您需要更多信息,只需询问,那么您想将数据分成几部分,并想知道它们应该有多大?你不想让它们太大,也不想让它们太多?为什么不选择一个你

我正在编写一个多长度输出散列函数,但我遇到了一个绊脚石:如何分解输入数据,使程序不必处理非常长的列表或对给定数据运行太多循环

a=以字节为单位的输入长度,a>=0 b=以半字节为单位的输出长度,b>0

在运行实际哈希之前,对数据进行最小填充,因此输入长度基本上与填充后的长度相同。 数据被分解成n个大小的片段,并扩展成一个列表

谁能想出一个f(a)或f(a,b)?
如果您需要更多信息,只需询问

,那么您想将数据分成几部分,并想知道它们应该有多大?你不想让它们太大,也不想让它们太多?为什么不选择一个你喜欢的大小呢?我会使用512位之类的,但问题是我希望索引的大小是随机的(不是伪随机的,只是奇怪的)索引的大小?如果您指的是片段的数量,那么只需使用一个恒定的块大小,不同长度的消息就可以满足您的要求。您是否使用现有(公共)哈希函数进行哈希?