FTP FileZilla Server 本地加密C# 实现
最近公司要做一个资料管理模块,因系统是C/S架构,原来小文件都是直接使用7Z压缩后保存到SQL Server数据库
而资料管理模块也就是文件上传,下载加权限管理,考虑文件较多,还可能比较大,所以打算在服务器上直接保存文件。
C/S上传文件到服务器,我知道的有几个实现方法:
1、使用IIS服务,通过B/S方式上传到服务器。这种方式需要服务器上部署IIS,提供WebServers服务,上传文件到指定目录后进行数据库编码保存。
2、使用FTP服务,服务端安装FTP服务器,客户端使用FTP类进行访问,好处是如果以后需要文件管理,可以直接使用现有的客户端进行管理。
3、使用TCP通讯方式上传下载。这种方式还需要处理很多问题。
经过几番查找,对比,决定使用第二种方式,使用开源的FileZilla 进行管理
使用FTP方式,就必须能实现服务端能在程序中控制,比如,在系统中添加用户,则服务器也同时能对FTP服务端添加用户操作,及权限分配。
经研究FileZilla Server使用XML配置文件管理,其分支结构非常清晰。
如图:


这是V9.46版本的配置文件,最新版本V9.60已修改了加密方式,添加了SHA512加密,方法还是一样,也可以直接使用C#生成。
static string md5(string a)
{
string pwd = "";
MD5 md5 = MD5.Create();
byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(a));
for (int i = 0; i < s.Length; i++)
{
pwd = pwd + s[i].ToString("x2");
}
return pwd;
}
此方法来源:http://blog.sina.com.cn/s/blog_589b38e70100rtse.html
修改配置文件后需要重新加载,使配置文件生效:
官方手册使用命令行方式 /reload-config 命令就可以重新加载数据了
-------------- "FileZilla Server.exe" Command-line arguments ------------------Starting and stopping the service:
/start
/stop
Installing the service for manual startup:
/install
Installing the service for start at boot:
/install auto
Uninstalling service:
/uninstall
Reloading configuration at runtime:
/reload-config
重新加载参考:http://www.tuicool.com/articles/AzQBfmU
最新版本V6.0以后 密码生成:

代码:
string txt=@"<Root><salt><RhUrxf^l,VZ&7I/rbT+V9ZIr@v\p'^cEmPEWyYMjS8^&HY1Z|J.2#u2Z}]HF0i9</salt></Root>";
XmlDocument xmldoc=new XmlDocument();
xmldoc.LoadXml(txt);
string oldPass="05087D2082B206535713C1D5BDCA35509BE70B8C4F513F7E5F9799187DCB7F366011DB51AFACC67D1035A8EE7C04C6C12E92A4330808DDA4FF9F9946A09076FA";
string pass="123";
string salt=xmldoc.ChildNodes[0].InnerText;
salt.Dump();
byte[] bytValue = System.Text.Encoding.UTF8.GetBytes(pass+salt);
SHA512 sha512 = new SHA512CryptoServiceProvider();
byte[] retVal = sha512.ComputeHash(bytValue);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++)
{
sb.Append(retVal[i].ToString("X2"));
}
bool isComp= ( oldPass==sb.ToString());
isComp.Dump();
FTP FileZilla Server 本地加密C# 实现的更多相关文章
- [备忘]Windows Server 2008 R2部署FTP FileZilla Server防火墙设置
有一台服务器,之前文件迁移少,现准备用FileZilla Server当FTP服务器,服务器系统是Windows Server 2008 R2,同样适用FileZilla Client连接服务器FTP ...
- 服务器上装filezilla server后,本地的ftp客户端连接不上去
公司一台服务器,上面装了filezilla server后,按平常配置好了,但是在本地用FTP客户端不管怎么连接都连接不上,本地FTP客户端总提示连接失败,远程filezilla server的界面也 ...
- Filezilla server配置FTP服务器中的各种问题与解决方法
转至;https://www.jb51.net/article/122171.htm 安装文件以及补丁下载 公司很多资料需要通过ftp上传,那么就需要配置一个FTP服务器,找了一台Windows服务器 ...
- 使用FileZilla Server轻松搭建个人FTP服务器
Linux平台下快速搭建FTP服务器 服务器FTP Server环境搭建 针对以上遇到的问题的解决方案如下: 1)如何上传文件到云服务器上 关于这个问题,我首先想到的是使用FileZ ...
- 【阿里云】在 Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务
Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务 一.安装 Filezilla Server 下载最新版本的 Filezilla Server ...
- 使用filezilla server搭建FTP服务器
参考文献 http://www.pc6.com/infoview/Article_51961_all.html 背景 需要在内网环境下搭建一个FTP服务器,查阅相关资料发现使用filezilla se ...
- 用FileZilla Server开FTP
FileZilla(教程)是经典的开源FTP解决方案,包括FileZilla客户端和FileZilla Server.其中,FileZilla Server的功能比起商业软件FTP Serv-U毫不逊 ...
- FTP服务器FileZilla Server配置及使用方法
FileZilla Server下载安装完成后,安装过程不写说明了,网上一抓一大把,直接从配置开始记录. 1.创建服务器 ² Password:栏位中输入本服务器Filezilla服务的密码, ² ...
- 免费ftp服务器FileZilla Server配置
FileZilla Server下载安装完成后,必须启动软件进行设置,由于此软件是英文,本来就是一款陌生的软件,再加上英文,配置难度可想而知,小编从网上找到一篇非常详细的教程进行整理了一番,确保读到这 ...
随机推荐
- BZOJ2668:[CQOI2012]交换棋子(费用流)
题目描述 有一个n行m列的黑白棋盘,你每次可以交换两个相邻格子(相邻是指有公共边或公共顶点)中的棋子,最终达到目标状态.要求第i行第j列的格子只能参与mi,j次交换. 输入输出格式 输入格式: 第一行 ...
- Jenkins项目部署使用教程-----03节点添加
1)添加节点 系统管理——>管理节点——>新建节点 进入配置界面 点ok进入配置界面配置,——>高级 点击save保存,进入节点,点击Launch agent使得jenkins服务器 ...
- day13--------python 内置函数(一)
一:内置函数 内置函数就是python直接提供可以用的 01:作用域相关: locals() 返回当前作用域中的名字 globals() 返回全局作用域中的名字 02:迭代器相关: range() 生 ...
- LCT小小结
模板题P3690 基础题P3203[HNOI2010]弹飞绵羊 \(access\)是搞出一条端点为\(x,y\)的路径 , 且维护的是实子树的信息 . 由于题目比较简单 , \(access\)时还 ...
- bcdedit /copy {current} /d "xxx" 报错,提示找不到系统文件
步骤: cd c:windows/system32 bcdedit /set {default} osdevice boot bcdedit /set {default} device boot bc ...
- P2763 试题库问题
传送门 显然的网络流,源点向所有题目连流量为1的边,表示一题只能用一次,题目向它的所有类型连边,流量设为1,类型向汇点连边流量为题目需要的该类型的数量 然后最大流 如果最大流小于总需要的类型题目数量则 ...
- APP开发的三种模式
Hybrid APP混合开发的一些经验和总结 APP开发的三种模式:Native App .web App.hybrid App 1.原生app 使用原生app (android或iOS)开发APP. ...
- Echart 动态生成series数据
要做成页面只传入数据,js生成图表,如下图 下面是js代码 var LineChart = function (ID, title, axisData,seriesData) { var myChar ...
- switch case 注意事项+1 及 case合并综合练习例子
case可以合并: 练习11:根据输入的星期,得到具体每天做的事情.星期一学习,星期二学习,星期三自习,星期四学习,星期五自习,星期六学习,星期日学习 class Switch02{ public s ...
- svn server配置与TortoiseSVN、Ankhsvn+VS使用
Svn服务器与客户端安装 1. 下载安装VisualSvn-Server服务端.(过程略)http://subversion.apache.org/packages.html 2. ...