Subversion校验和算法

Car*_*s00 4 svn checksum

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

Gup*_*pta 6

如果您查看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;
    }
}
Run Code Online (Sandbox Code Playgroud)