I wrote this for a number of reasons but oddly enough Java probably has the most options as far as runtimes go but the support is pretty fractured. The underlying runtime adapters add support for wasmtime and wamr as well. There are two JNI implementations for wasmtime but they are badly out of date and haven't been updated in years. There are a number of reasons you might want to use one runtime over another and this was supposed to unify them under a single interface and make swapping them out easy. It also allows you to easily compare the tradeoffs of various engines.
Well... it would also be confusing to call them "passwords" because they are not that.
In addition to biometric authentication, Windows Hello supports authentication with a PIN. By default, Windows requires a PIN to consist of four digits, but can be configured to permit more complex PINs. However, a PIN is not a simpler password. While passwords are transmitted to domain controllers, PINs are not. They are tied to one device, and if compromised, only one device is affected. Backed by a Trusted Platform Module (TPM) chip, Windows uses PINs to create strong asymmetric key pairs. As such, the authentication token transmitted to the server is harder to crack. In addition, whereas weak passwords may be broken via rainbow tables, TPM causes the much-simpler Windows PINs to be resilient to brute-force attacks.[139]
So you see, Microsoft needs a way to describe an access code that isn't a password, because it's more secure than that, but yet it isn't exactly a number, so what do you call it? "PIN" is perhaps an unfair recycling of an in-use term, but should they coin a neologism instead? Would that be less confusing?
It's getting there. There have been a lot of developments in WebAssembly in the past few years. I've felt the same pain so I just released a library to make it easier to run it in Java
reply