我的目标是为一个字符串生成一个包含6个字符的短Hash字符串(可能包含字符[AZ] [az] [0-9]),该字符串长度为42个不区分大小写的字母数字字符.唯一性是关键要求.安全性或性能不是那么重要.
是否有一个特定的算法可以给出这个结果,或者我应该坚持截断MD5哈希或SHA-1哈希(就像在这个问题中一样)?如果是这样,碰撞的概率是多少?
我的问题始于将.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) 我有一个简单的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上测试了这个.
我目前正在使用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) c# ×3
.net ×1
hash ×1
md5 ×1
meteor ×1
meteor-react ×1
react-router ×1
reactjs ×1
sha ×1
tcplistener ×1
unmanaged ×1
websocket ×1