簡體   English   中英

Java密碼學問題(AES-ECB加密)

[英]Java Cryptography questions (AES-ECB encryption)

1)我無法在JCE AES加密的任何地方找到Java實現,但有人知道它作為參數的字節數組是被視為有符號還是無符號? 我正在使用的代碼是:

public static byte [] ecbAesEncrypt(byte [] key, byte [] currentVector) {
        SecretKeySpec keySpec = null;
        Cipher cipher = null;
        byte [] encryptedValue = null;

        try {
            keySpec = new SecretKeySpec(key, "AES");

            cipher = Cipher.getInstance("AES/ECB/NoPadding");
            cipher.init(Cipher.ENCRYPT_MODE, keySpec);

            encryptedValue = cipher.doFinal(currentVector);
        }
        catch (Exception e) {
            e.printStackTrace();
            return null;
        }

        if (DEBUG)
            printHex("AES-ECB encrypt: ", encryptedValue);

        return encryptedValue;
    }

2)2個有符號字節的按位XOR是否會給出與2個無符號字節的按位異或相同的結果? 通過這個我的意思是只是位表示將是相同的。 我想是的,但只是想確定一下。

3)問題1有些相關,什么按位運算會在有符號和無符號字節之間產生不同的結果?

AES將字節視為純二進制數據。 不是帶有符號或沒有符號的數字。

Java中沒有無符號字節。 他們總是簽名。 但只有當你對它們進行整數紅細胞生成時,這個標志才有意義。

Java教程中描述了按位運算符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM