sm4 输入必须是16的倍数,如果不够就会补位,这里的补位逻辑不通用,我手动对输入进行了补位,如果是16的倍数,就补16个16,差8个到16的倍数就补8个8。 sm3 定义的变量全是long win是4字节 移植到linux long是8字节,会导致sm3计算的结果不一致。变量把long全改成int就可以了。