Generieren SHA256 in c++

Muss ich generieren SHA256 einige Daten. Ich fand dieses Beispiel ist eine sehr gute. Nun meine Frage ist Kann ich generieren eine sha256-durch die Verwendung meiner eigenen Schlüssel.

EDIT:

Erstens, sorry für die falsche Frage. Ich meine nicht, dass zu ändern, der Schlüssel, der verwendet wird zum generieren von SHA256. Ich wirklich brauchen, ist, dass, konvertieren Sie den folgenden java-code in c++

public static String calculateHMAC(String data, String key) throws Exception {
String result;
try {
    //get an hmac_sha2 key from the raw key bytes
    SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), HMAC_SHA2_ALGORITHM);

    //get an hmac_sha1 Mac instance and initialize with the signing key
    Mac sha256_HMAC = Mac.getInstance(HMAC_SHA2_ALGORITHM);
    sha256_HMAC.init(signingKey);

    //compute the hmac on input data bytes
    byte[] rawHmac = sha256_HMAC.doFinal(data.getBytes());

    //base64-encode the hmac 
    StringBuilder sb = new StringBuilder();
    char[] charArray = Base64.encode(rawHmac);
        for ( char a : charArray){
            sb.append(a);
            }
        result = sb.toString();
    }
    catch (Exception e) {
        throw new SignatureException("Failed to generate HMAC : " + e.getMessage());
    }
    return result;
}
sha ist eine hash-Funktion nicht verschlüsseln Schema
Danke. Tag entfernt.
Dann was meinst du mit "eigenen Schlüssel"?
Sie mischen Salz mit einer Verschlüsselung?
Warum sollte man es ändern? der springende Punkt bei der SHA256 ist, dass jeder ihn auf einem Stück von Daten und vergleichen Sie das Ergebnis auf einen bekannten guten Wert, der zum bestätigen der Integrität der Daten.

InformationsquelleAutor Nelson T Joseph | 2015-07-23

Schreibe einen Kommentar