lowest.world/connect 的动态密码生成算法(C++ ver.)

随便找了一份 C/C++ 的 md5 生成代码,拉过来改了改;然后又参考了 js 版本,自己稍微改了改,于是就得到了这份代码。
js 版本:https://github.com/zh-arc-wiki-re-wg/lowestworld_algorithm/blob/main/in_javascript.js
输入格式:年,月(1-12),日(1-31)。请自行保证你的输入合法。
(你可能需要 C++11 及以上的标准来编译)
简单介绍一下算法的原理:譬如在 2022.7.13,则依次输入 2022 7 13,那么会先生成一个字符串 raw="2022ori6wol13oihs13otas"(月份从 0 标号,因此要减 1),然后会对该字符串求出 32 位 md5 码,最后依次取出 md5 码的第 2,21,5,31,3,12,24 个字符,将其映射到一个数字和小写字母表上,逐个打印出来,即为显示的动态密码。