Correct me if I'm wrong, cryptography isn't my strong suite 8-) but this library looks to give you what you want. It's in Python:
<
You can use it like so:
>>> hash = scram.encrypt("password", rounds=1000, algs="sha-1,sha-256,md5")
>>> hash
'$scram$1000$RsgZo7T2/l8rBUBI$md5=iKsH555d3ctn795Za4S7bQ,sha-1=dRcE2AUjALLF
tX5DstdLCXZ9Afw,sha-256=WYE/LF7OntriUUdFXIrYE19OY2yL0N5qsQmdPNFn7JE'
### References
* Modular Crypt Format
* GNU SASL Library - Libgsasl