• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#实现的apache htpasswd加密

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一.VisualSvn Server 这个软件大家都知道,具体使用时创建用户名密码和组时,每次都要登陆到VisualSvn Server所在的机器上,次次如此...

    由于一些原因要把这个用户管理的功能集成到OA中,这样可以OA中集中管理SVN的帐号(所有程序都是基于局域网使用)

 

二.VisualSvn Server的帐户文件存在当前Repositories下的 htpasswd 文件中,格式为   用户名:xxxxxxxxxxxxxxxxxxxxxxxxxx(x为加密后的密码字符串)

这样需要解决的关键就在于怎么样得到密码加密后的字符串.通过google找到了一个C#实现htpasswd加密的类库"CryptSharp", site:https://www.zer7.com/software/cryptsharp (不需要FQ)

 

三.使用代码方法

using CryptSharp;
string
cryptedPassword = Crypter.MD5.Crypt(password, new CrypterOptions() { { CrypterOption.Variant, MD5CrypterVariant.Apache } });

校验方法

bool matches = Crypter.CheckPassword(testPassword, cryptedPassword);

当然,这个类库还支持其它加密方法,具体请参照类库的网站

上述代码,通过手动替换我自己的VisualSvn Server的服务器上的用户的密码,测试通过

四.关键的问题解决后,回到 一中要解决的问题,这里只是一个思路

我的想法是, OA会部署到一台服务器上,web形式的,无法直接修改VisualSvn Server的密码文件,所以还需要在VisualSvn Server的那台机器上运行一个代理程序,由这个代理程序来实现具体的密码文件的读写

像这样,  OA(web)-->代理程序-->读写密码文件并返回结果

 

接下来会按照这个思路来实现这个功能

 

五.不知道大家有没有更好解决方案,希望大家能提出自己的意见

 

 

如果觉得本文还行,请推荐;如果觉得本文太水,请留下您的意见,我会努力改进!

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# dll 事件执行 js 回调函数发布时间:2022-07-13
下一篇:
使用Microsoft Roslyn提取C#和VB.NET源代码中的字符串常量发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap