小编Isu*_*uru的帖子

6字符短哈希算法

我的目标是为一个字符串生成一个包含6个字符的短Hash字符串(可能包含字符[AZ] [az] [0-9]),该字符串长度为42个不区分大小写的字母数字字符.唯一性是关键要求.安全性或性能不是那么重要.

是否有一个特定的算法可以给出这个结果,或者我应该坚持截断MD5哈希或SHA-1哈希(就像在这个问题中一样)?如果是这样,碰撞的概率是多少?

c# hash md5 sha

10
推荐指数
2
解决办法
1万
查看次数

动态装配在.Net 4.0中加载

我的问题始于将.Net 2.0应用程序移动到.Net 4.0.我必须这样做的原因是Windows 8默认情况下不启用早期的.Net版本,我的应用程序无法要求用户启用它.

该应用程序是一个NPAPI插件,它通过UnmanagedExports使用.Net组件.我将其设计为低完整性应用程序,因此它必须驻留在用户的LocalLow'目录中.

在我的应用程序中,我使用动态程序集加载机制在运行时加载多个程序集.我使用以下方法加载程序集,

MyInterface Instance;

Assembly assembly = Assembly.LoadFrom(AssemblyFile);
Type type = assembly.GetType(Identifier); // Identifier is implementing the MyInterface 
Instance = Activator.CreateInstance(type) as MyInterface;

// Do something with the Instance
Run Code Online (Sandbox Code Playgroud)

将项目修改为.Net 4.0之后,我注意到当二进制文件放在LocalLow目录中时插件崩溃(它在其他地方工作).我的下一步是创建一个简约插件,用尽可能少的代码来找出问题.我注意到动态程序集加载失败,出现以下异常,

System.IO.FileLoadException: Could not load file or assembly '<assemblyPath>' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515 (COR_E_NOTSUPPORTED)) --->

System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the …
Run Code Online (Sandbox Code Playgroud)

.net c# unmanaged .net-assembly dynamic-assemblies

10
推荐指数
1
解决办法
2647
查看次数

如何防止Windows防火墙消息弹出

我有一个简单的Web套接字服务器应用程序(SuperWebSocket),我用它来与JavaScript通信.这里的想法是允许本地应用程序与浏览器通信.我正在为Windows 7和8平台开发此应用程序.

我遇到的问题是,在初始运行期间,Windows防火墙会显示用于阻止与公共域通信的安全警报.我的应用程序不与PC外部的任何资源通信,因此无论我们选择解除阻止还是阻止,应用程序都可以正常工作.

我的问题是,我们能以编程方式避免这种安全警告吗?如果PC不允许防火墙访问,是否可以允许它以静默方式阻止它而不会弹出任何警告?

我正在使用WiX安装程序创建一个MSI包,用于分发应用程序.我们有什么办法可以在安装时设置防火墙权限吗?

基本思想是允许程序以最少的用户交互运行.

提前致谢.

更新:

似乎问题出现在SuperWebSocket中,它将套接字绑定到所有可用接口.类似的东西,

TcpListener _listener = new TcpListener(IPAddress.Any, 21000);
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用这样的东西,

TcpListener _listener = new TcpListener(IPAddress.Loopback, 21000);
Run Code Online (Sandbox Code Playgroud)

该警告不再出现.我在Windows 8 PC上测试了这个.

c# tcplistener windows-firewall websocket

5
推荐指数
0
解决办法
2427
查看次数

流星+ React + ReactRouter文件上传

我目前正在使用Meteor,ReactJS和React Router(用于路由)开发应用程序。我有一个要求,用户应该能够上载一个压缩的网站,而Meteor应用程序则需要将该网站显示为其中一个页面的一部分。

典型的zip文件将包含以下类似的模式,

ZippedFolder
    |-- css
    |    |-- bootstrap.css
    |    |-- bootstrap.min.css 
    |    +-- style.css
    |-- js
    |    |-- bootstrap.js
    |    |-- bootstrap.min.js
    |    +-- script.js 
    +- index.html
Run Code Online (Sandbox Code Playgroud)

我已经设置了CollectionFS,将zip文件存储到文件系统中,并使用meteorhacks:npm和几个npm软件包,可以将文件解压缩到一个已知位置。

ZippedFolder
    |-- css
    |    |-- bootstrap.css
    |    |-- bootstrap.min.css 
    |    +-- style.css
    |-- js
    |    |-- bootstrap.js
    |    |-- bootstrap.min.js
    |    +-- script.js 
    +- index.html
Run Code Online (Sandbox Code Playgroud)

在React组件上,我正在使用以下代码片段上传压缩的HTML内容。

HTMLContent = new FS.Collection("html_content", {
  stores: [new FS.Store.FileSystem("html_content"]
});

HTMLContent.on('stored', Meteor.bindEnvironment(function (fileObj) {
  let unzip = Meteor.npmRequire('unzip'),
    fs = Meteor.npmRequire('fs'),
    path = fs.realpathSync(process.cwd() +  '/../../../cfs/files/html_content/'), …
Run Code Online (Sandbox Code Playgroud)

meteor reactjs react-router meteor-react

5
推荐指数
0
解决办法
938
查看次数