Я использую генератор SHA 256 га sh в двух разных модулях. Один модуль написан на Kotlin, а другой - с использованием крипто API nodejs. Значение хэширования немного отличается в nodejs и kotlin.
Kotlin Код
import java.security.MessageDigest
import java.util.Base64
fun main() {
val md = MessageDigest.getInstance("SHA-256")
val input = "test".toByteArray(Charsets.UTF_8)
val bytes = md.digest(input)
println(Base64.getUrlEncoder().encodeToString(bytes))
}
Nodejs код
const crypto = require('crypto');
const hash = crypto.createHash('sha256');
hash.update('test');
console.log(crypto.createHash('sha256').update('test', 'utf8').digest('base64'));
Код kotlin выводит n4bQgYhMfWWaL-qgxVrQFaO_TxsrC4Is0V1sFbDwCgg=
, где как nodejs код выводит n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=
. Я не мог определить, что я делаю не так?