---
sourceDocument: Yokohama-Plattformsicherheit
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/yokohama/platform-security

 Release :

    - yokohama

ft:locale :

    - de-DE

ft:publication_title :

    - Yokohama-Plattformsicherheit

ft:clusterId :

    - psec

bundleId :

    - psec

workflow :

    - Platform


---

# Beispiel für einen Java-Digest-Algorithmus für die Verschlüsselung

# Beispiel für einen Java-Digest-Algorithmus für die Verschlüsselung {#ariaid-title1}

* Freigeben Version: Yokohama
* 
* Aktualisiert 30. Januar 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 Minute Lesedauer

Dieser Java-Algorithmus veranschaulicht die Erstellung eines Digest-Tokens aus einem HTTP-Header.  
Dieses Beispiel setzt voraus:

* Der Webserver unterstützt Java
* Die Hash-Berechnungsmethode ist SHA1
* Der Wert des geheimen Schlüssels ist abc123
* Der unverschlüsselte HTTP-Headername ist user_Name
{#c_SamJavaDigAlgEncrypt__ul_fhj_tb4_1p}  
Ändern Sie den Java-Code, um einen anderen Hash-Berechnungsmechanismus (z. B. MD5) zu verwenden, oder ändern Sie den Wert des geheimen Schlüssels oder den HTTP-Headernamen.

    public class DigestTest
    {
        private static final String MAC_ALG = "HmacSHA256";
           fKey  = {32 or more characters};
        public byte[] getDigest(String acct) {
            try {
                byte[] bkey = fKey.getBytes();
                byte[] data = acct.getBytes();
                Mac mac = null;
                try {
                    mac = Mac.getInstance(MAC_ALG);
                    mac.init(new SecretKeySpec(bkey, MAC_ALG));
                } catch (Exception e) {
                    e.printStackTrace();
                }
                byte[] sig = mac.doFinal(data);
                String signature = new String(sig);
                System.out.println("value:" + acct);
                System.out.println("digested value:  " + signature);
                return sig;
            } catch (IllegalStateException e) {
                e.printStackTrace();
            }
            return null;
        }
        public static void main(String[] args) {
            BASE64Encoder encoder = new BASE64Encoder();
            DigestTest test = new DigestTest();
            String userName = "user_name";
            System.out.println("base 64 digest username: " + encoder.encode(test.getDigest(userName)));
        }
    }


