• C#实现的apache htpasswd加密


    一.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)-->代理程序-->读写密码文件并返回结果

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

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

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

  • 相关阅读:
    myeclipse中代码不显示SVN版本号
    java HttpURLConnection 登录网站 完整代码
    新浪微博自动(模拟)登陆详解及实现
    java模拟Cookies登陆
    paper 53 :深度学习(转载)
    paper 52 :windows7环境下theano安装
    paper 51:图像复原
    paper 50 :人脸识别简史与近期进展
    paper 49:论文退稿?审稿人帮你总结了22个能避免的常见问题
    paper 48: Latex中如何制作参考文献
  • 原文地址:https://www.cnblogs.com/lost0/p/7856737.html
Copyright © 2020-2023  润新知