【问题标题】:Subversion checksum algorithm颠覆校验和算法
【发布时间】:2011-09-15 23:26:34
【问题描述】:

Subversion 使用哪些算法(SHA1、MD5...)来检测数据未损坏? (例如磁盘故障)

【问题讨论】:

  • 出于好奇,为什么要问?
  • 我想确保所有数据都经过校验和防御任何硬件故障。

标签: svn checksum


【解决方案1】:

如果您查看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;
    }
}

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2021-05-11
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      相关资源
      最近更新 更多