I looked at it on friday and forgot to wrote to you , sorry.
As I just outlined in the other question you had, you might be able to write it in pure JS but you will need to use some unsupported things, merge some PRs we decided we won’t merge and even than it’s not certain.
If you have the ability to use custom k6 builds and are willing to invest the time you are much better off to just add them as internal k6 modules. See this commit adding encoding .
I would have to tell you though that adding any of those to the official k6 is … unlikely :(. I myself am of the opinion that for the majority of those it’s MUCH better if we have a good crypto API that is standard(ish) and you can just use a JS implementation for the majority of things instead of k6 having to have every possible way of authorization.