說,我有一個對象的信息的文件。我有一個名字創建它,這樣文件名本身包含像對象ID的對象,對象父節點編號,其他一些元ID信息和文件序列號的某些信息。這是因爲文件可用acorss不同的模塊,並避免多個數據庫訪問文件的元信息。加密和壓縮文件名
文件名= 「OB」 + FILEID + parentId的+ metaId +序列+ 「TXT」
序列開始從00001到99999(可能是非常大的也)
因此,每一索引在每個數位具有一個具體的含義
現在,文件信息將被提供給我們的應用程序之外的程序,我不希望其他應用程序知道我使用的細節。因此,我想使用加密或哈希在發送文件之前,在文件中的響應文件名也被加密或散列,並且他們應該給我一個響應NSE與基於文件的內容加密/散列響應文件名
有2個challanges:
要做到這一點,而不涉及數據庫
文件名是最快和最簡單的方法長大約25個字符(和其它ID和序列信息),所以想要得到的文件名得較小(儘可能小)和標準尺寸的。
或者可以使用的任何其他機制???
值得指出的是散列函數是不可逆的(除非它們是好的,通過暴力)。這意味着文件名中包含的數據將會丟失,除非單獨的記錄保存在將散列鏈接到原始文件名的地方。 – ig0774
你是對的,但假設散列是沒有改動的原始文件名,那末你的文件名就足以重新生成哈希值。我們仍然需要單獨記錄的原因是,如果發生碰撞,您需要一些機制來區分一條記錄和另一條記錄。但理論上,與SHA-256或SHA-128等較大散列算法衝突的機會非常小。 – nerdybeardo