Sha1()在Java和Javascript中返回不同的输出

时间:2014-07-14 21:17:30

标签: java javascript encoding hash sha1

我正在使用Javascript实现我的Java项目的一部分,而我目前正处于哈希和身份验证事件发生的部分。我这里有一个java类:

import com.google.common.hash.Hashing;

import static com.google.common.io.BaseEncoding.base64;
import static java.nio.charset.StandardCharsets.UTF_8;

public class SampleTest {
    public static void main(String arg[]){
        String payLoad = "payload";
        System.out.println(     base64().encode(    Hashing.sha1().hashString(payLoad, UTF_8).asBytes()    )    );
    }

}

打印出MMrWAYjQdoQyEgTVAvYUEiWQQ2g=

接下来,我尝试使用CryptoJS在Javascript中执行此操作:

<script>
    var hash = CryptoJS.SHA1("payLoad");
    var base = btoa(hash)
    document.write(base);
</script>

这会输出MzBjYWQ2MDE4OGQwNzY4NDMyMTIwNGQ1MDJmNjE0MTIyNTkwNDM2OA==

当谈到散列/编码时,我是一个菜鸟,所以有人可以请点亮一下吗?他们为什么输出不同的东西?

谢谢!

0 个答案:

没有答案