Subversion校验和算法

时间:2011-09-15 23:26:34

标签: svn checksum

Subversion使用哪些算法(SHA1,MD5 ...)来检测数据是否已损坏? (例如,通过磁盘故障)

2 个答案:

答案 0 :(得分: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)

对于当前版本(1.8.x),svn info显示的校验和为SHA-1,如果文件尚未修改,则sha1sum {file}应与svn info中的校验和匹配。