2011-06-29 66 views
-1

我的一個朋友問這個問題,我也想在這裏問這個問題。這是什麼類型的加密數據?

「這是什麼樣的數據,它們是如何加密或解密的?」

我的朋友告訴我他從facebook上得到了這個。

d9ca6435295fcd89e85bd56c2fd51ccc

+1

如果您提供更多關於價值來自Facebook的背景信息,這將有所幫助。它是通過api調用返回的嗎?否則,它只是一串文本,無法知道它是否被加密。它看起來像我的全球唯一標識符。 –

回答

0

它看起來像它可能是一個md5 hash

基本上哈希是一個單向函數。這個想法是,你需要輸入一些數據並通過算法運行,以創建碰撞概率較低的值(例如上面的字符串)(IE,兩個輸入值散列到同一個字符串)。

由於結果字符串中沒有足夠的信息返回,因此無法解密哈希。然而,如果你使用'弱'哈希算法並且不做適當的技術,例如醃製散列等,那麼有人可能找出你的輸入值。

我不知道FaceBook如何使用哈希,但散列的常見用法可能是唯一標識一個頁面。例如,如果您在頁面上擁有私人圖片,則可能會要求生成指向圖片的鏈接,然後通過電子郵件發送給朋友。該鏈接可能使用散列作爲URL的一部分,因爲該值可以快速計算,具有相當的獨特性,並且第三方很難將其計算出來。

這實際上是一個很大的話題,我決不公平。如果你非常喜歡,我建議使用google,md5等來學習更多。

0

這出現的是...
    十六進制表示爲...
        - ...一個16個字節的加密塊或..
        - ...一些128位散列碼甚至
        - ...只是爲了一些簡單的隨機/識別號

(十六進制:注意如何只有0到9的數字和至F的字母)

雖然MD5哈希猜測他人認爲是相當合理的,它可能是任何東西...

如果是散列或標識/隨機分配的數字,其含義是外部代碼本身。
例如,它可能是用來定位數據庫中的記錄的鍵,或者是與應用於用戶提供的密碼等的散列函數的結果進行比較的值。

如果它是一個加密值,它的含義(解密值)可以直接在代碼中找到,但它可能只是任何事情。另外,假設它是用現代加密算法生成的,可能需要花費大量精力來破解代碼(如果可能的話)。

0

它是一個128位的序列,編碼爲小寫十六進制字符串。

如果您正在談論Facebook API密鑰,則從這些位解碼沒有更深的含義。密鑰由Facebook隨機創建並分配給特定的應用程序以識別它。每個應用程序爲其API密鑰獲取一組不同的隨機位。