2011-09-15 137 views
3

Subversion使用哪些算法(SHA1,MD5 ...)來檢測數據沒有被破壞? (例如,通過磁盤故障)顛覆校驗和算法

+0

出於好奇,你爲什麼要問? – Maxpm

+0

我想確保所有數據都被檢查和防範任何硬件故障。 – Cartesius00

回答

6

如果你看看SVN 1.6 source code,你會發現在源代碼中支持MD5和SHA-1哈希函數。看看chacksum.c文件,並有以下功能:

svn_checksum_t * 
svn_checksum_create(svn_checksum_kind_t kind, 
        apr_pool_t *pool) 
{ 
    svn_checksum_t *checksum; 

    switch (kind) 
    { 
     case svn_checksum_md5: 
     case svn_checksum_sha1: 
     checksum = apr_pcalloc(pool, sizeof(*checksum) + DIGESTSIZE(kind)); 
     checksum->digest = (unsigned char *)checksum + sizeof(*checksum); 
     checksum->kind = kind; 
     return checksum; 

     default: 
     return NULL; 
    } 
} 
1

對於目前的版本(1.8.x的)與svn info顯示校驗和SHA-1,即sha1sum {file}應,如果該文件匹配校驗和svn info尚未修改。