我有一個解密演算法,其中x是一個 8 位整數:
function decrypt(x){
return move(x, 2) ^ (move(x, 1) & move(x, 3));
}
function move(x, n) {
return ((x >> (8 - n)) & 255) | ((x << n) & 255);
};
我想反向操作并找到加密功能。
uj5u.com熱心網友回復:
這是不可能的,因為decrypt不是雙射,即它是不可逆的。
以這些數字為例:
85, 91, 107, 109, 170, 173, 181, 182, 214, 218
如果您將這些數字中的任何一個傳遞給decrypt,則回傳值將是 255。因此,如果您得到 255,那么假設encrypt必須回傳什么?事實是,255 沒有足夠的資訊來告訴你它來自哪里。
這只是一個反例。還有其他組具有相同decrypt輸出的數字。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/377847.html
標籤:javascript 算法 加密
