Subversion 校验和算法

6

Subversion使用哪些算法(SHA1、MD5等)来检测数据是否损坏?(例如,由于磁盘故障)


出于好奇,你为什么问呢? - Maxpm
我希望确保所有数据都经过校验和防御任何硬件故障。 - Cartesius00
2个回答

7
如果您查看SVN 1.6源代码,您会发现在源代码中支持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;
    }
}

2

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


svn info 显示哪个校验和?也许最新版本的Subversion不会显示校验和,因为我在那里看不到校验和(版本1.14.2)。 - Michael K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接