〜/ .subversion/auth/svn.simple/<hash>算法?

Tri*_*tan 8 svn authentication client

在〜/ .subversion/auth/svn.simple /目录中确定文件名的算法是什么?

我试图设置subversion以非交互方式进行身份验证,并让它使用先验创建的文件进行身份验证(而不是必须首次手动进行身份验证).我无法配置服务器,只能配置客户端.

作为实验,我手动验证以查看正在创建的文件.对我来说,提前创建文件是微不足道的,但我找不到一种生成正确文件名的明显方法.例如:

cat <file> | MD5

不生成文件名:/.类似地散列svn:realmstring或其变体无法生成正确的文件名.

换句话说,给定:

$ cat ~/.subversion/auth/svn.simple/a67f7e17e9b4059f367743be8f30c336

K 8
username
V 3
joe
K 8
password
V 4
blah
K 15
svn:realmstring
V 45
<https://svn.domain.com:443> Joe's repository
END
Run Code Online (Sandbox Code Playgroud)

我需要哈希才能得到a67f7e17e9b4059f367743be8f30c336什么?

Tri*_*tan 10

答案是md5 svn:realmstring.

鉴于:

<https://svn.apache.org:443> ASF Committers
Run Code Online (Sandbox Code Playgroud)

验证散列通过(md5sum例如,假设您的MD5实用程序是在Mac上md5)

echo -n "<https://svn.apache.org:443> ASF Committers" | md5sum
> d3c8a345b14f6a1b42251aef8027ab57
Run Code Online (Sandbox Code Playgroud)

  • 作为参考,执行此操作的代码位于svn_auth__file_path()中,该文件位于subversion/libsvn_subr/config_auth.c中,也就是https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_subr/config_auth.c您的示例在你的问题中没有与实际的哈希对齐可能是因为你改变了它. (2认同)