SHA 编码错误 "UnsupportedEncodingException: UTF­8"

SHA Encoding Error "UnsupportedEncodingException: UTF­8"

下面是我的 JAVA 代码,我正在尝试将字符串编码为 SHA1 编码,但出现以下错误。

java.io.UnsupportedEncodingException: UTF­8

at java.lang.StringCoding.encode(StringCoding.java:341) at java.lang.String.getBytes(String.java:918) at sample.SHAEncoding.getSHA(SHAEncoding.java:20) at sample.SHAEncoding.main(SHAEncoding.java:34)

import java.security.MessageDigest;

public class SHAEncoding {
    private static char[] hexits = "0123456789ABCDEF".toCharArray();

    public static String getSHA(String data) throws Exception {
    MessageDigest md = null;
    byte[] ba = null;
    md = MessageDigest.getInstance("SHA");
    md.update(data.getBytes("UTF­8"));
    ba = md.digest();

    StringBuffer sb = new StringBuffer(ba.length * 2);
    for (int i = 0; i < ba.length; i++) {
        sb.append(hexits[(((int) ba[i] & 0xFF) / 16) & 0x0F]);
        sb.append(hexits[((int) ba[i] & 0xFF) % 16]);
    }
    return sb.toString();
}

public static void main(String args[]){
    String SessionID = "2K6VB0UAZV33C5KTKXDV";
    try{
        String PIN = getSHA(SessionID + getSHA("xyz"+"1234").toLowerCase()).toUpperCase();
        System.out.println("PIN ===>>> "+PIN);
       }catch(Exception e){
        e.printStackTrace();
       }
 }
}

通过将 "UTF8" 替换为 "UTF-8" 解决了问题。 谢谢大家的回复。