问题列表 - 第7473页

我应该选择哪种加密哈希函数?

.NET框架附带了6种不同的散列算法:

  • MD5:16字节(哈希时间500MB:1462毫秒)
  • SHA-1:20个字节(1644毫秒)
  • SHA256:32字节(5618毫秒)
  • SHA3​​84:48字节(3839毫秒)
  • SHA512:64字节(3820毫秒)
  • RIPEMD:20个字节(7066毫秒)

每个功能都有不同的表现; MD5是最快的,RIPEMD是最慢的.

MD5的优势在于它适用于内置的Guid类型; 它是3型UUID的基础.SHA-1哈希是类型5 UUID的基础.这使得它们非常易于识别.

然而,MD5易受碰撞攻击,SHA-1也容易受到攻击,但程度较轻.

在什么条件下我应该使用哪种散列算法?

我真的很想回答的具体问题是:

  • MD5不值得信任吗?在正常情况下,当您使用没有恶意意图的MD5算法且没有任何第三方有任何恶意意图时,您会期望任何冲突(意味着两个任意byte []产生相同的哈希)

  • RIPEMD比SHA1好多少?(如果它更好)它的计算速度要慢5倍,但散列大小与SHA1相同.

  • 散列文件名(或其他短字符串)时获得非恶意冲突的几率是多少?(例如,2个具有相同MD5哈希值的随机文件名)(使用MD5/SHA1/SHA2xx)一般来说,非恶意冲突的几率是多少?

这是我使用的基准:

    static void TimeAction(string description, int iterations, Action func) {
        var watch = new Stopwatch();
        watch.Start();
        for (int i = 0; i < iterations; i++) {
            func();
        }
        watch.Stop();
        Console.Write(description);
        Console.WriteLine(" Time Elapsed {0} ms", watch.ElapsedMilliseconds);
    }

    static byte[] GetRandomBytes(int count) {
        var bytes = new byte[count];
        (new Random()).NextBytes(bytes);
        return bytes;
    }


    static void …
Run Code Online (Sandbox Code Playgroud)

.net c# hash cryptography cryptographic-hash-function

135
推荐指数
3
解决办法
7万
查看次数

从VB.NET中的文本中的数字中删除空格

我有这种格式的文字

"术语:156 ^^^:^^ 59 datainput"或"术语:156 ^^^:59 datainput"或"术语:156:^^^ 59"

"^"代表白色空间.注意两个数字和冒号之间的空格.两个数字之间有2,3,4或甚至7个空格.我想删除这些空格,以便文本可以采用以下格式:

"术语:156:59 datainput"

这两个数字之间没有更多的空间 - > 156:56.我想只删除数字和冒号之间的空格.

感谢您的任何意见.

.net vb.net

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

IE8中的clientWidth性能

我有一些遗留的javascript,冻结表的tfoot/thead并让身体滚动,它工作正常,除了在IE8中它非常慢.

我跟踪问题来读取tfoot/thead中的单元格的clientWidth属性...在ie6/7和FireFox 1.5-3中需要大约3ms才能读取clientWidth属性...在IE8中需要超过200ms且更长时间表格中的单元格数量增加了.

这是一个已知的错误 ?有什么工作或解决方案吗?

javascript internet-explorer-8

6
推荐指数
2
解决办法
3167
查看次数

如何在Eclipse中重新启动Google App Engine Java Server?

好吧,也许我是愚蠢/盲目的,但在文档中它说"重建并重新启动服务器".但我没有看到按钮在任何地方这样做.或者从任何上下文菜单.我在他们的文档中找不到任何解释如何做的事情.如果我只是尝试再次启动应用程序,它会生气,因为我已经在所需的端口上运行了App Engine.

我发现只有解决方案才能重启Eclipse ......还有其他想法吗?如果可能,按钮的屏幕截图将有所帮助.:)

java eclipse google-app-engine

25
推荐指数
3
解决办法
1万
查看次数

在JavaScript中重新排列表

我想使用JavaScript重新排序表行.

例如,采取以下虚拟表:

<table>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
  </tr>
  <tr>
    <td>A</td>
    <td>B</td>
    <td>C</td>
    <td>D</td>
  </tr>
  <tr>
    <td>A1</td>
    <td>B1</td>
    <td>C1</td>
    <td>D1</td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我想在不使用jQuery的情况下在JavaScript中执行此操作.我想将A1,B1,C1,D1 ..行显示为第一行,然后是1,2,3,4行,然后是A,B,C,D行.

我知道客户端会有一些等待时间,但我需要在客户端进行.对于任意数量的行,是否有一些通用的解决方案?

javascript

5
推荐指数
2
解决办法
9116
查看次数

同上.在LaTeX引文中

如何让LaTeX自动使用"同上".当两个引用相同的来源?

Here is a sentence with a citation.\footnote{\cite[p.~5]{Smith:1999}}
This sentence also has a citation.\footnote{\cite[p.~10]{Smith:1999}}
Run Code Online (Sandbox Code Playgroud)

期望:
这是一个引用的句子.[1] 这句话也有引文.[2]
......
1. Smith(1999),p.5
2.同上,第2页.10

实际:
这是一个引用的句子.[1] 这句话也有引文.[2]
......
1. Smith(1999),p.5
2. Smith(1999),p.10

latex

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

为一个servlet配置web.xml(Tomcat 5)以处理所有传入请求?

基本上我想要一个servlet来处理所有传入的请求,而不管路径如何.我在共享托管环境中可以访问配置我自己的web.xml文件.

我在web.xml中配置了以下内容,但它不适用于Tomcat 5:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=
        "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
    <display-name>Redirect</display-name>
    <servlet>
         <display-name>Redirect</display-name>
         <servlet-name>Redirect</servlet-name>
         <servlet-class>com.Redirect</servlet-class>
         <init-param>
            <param-name>host</param-name>
            <param-value>www.myredirectdomain.com</param-value>
        </init-param>
        <init-param>
            <param-name>redirect-type</param-name>
            <param-value>301</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>Redirect</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

以上工作适用于以路径中的目录开头的任何内容,例如:

www.mydomain.com/anypath1/anypath2...
www.mydomain.com/anypath1
Run Code Online (Sandbox Code Playgroud)

但是,不起作用:

www.mydomain.com/ or
www.mydomain.com
Run Code Online (Sandbox Code Playgroud)

我还尝试了以下servlet映射:

<servlet-mapping>
    <servlet-name>Redirect</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

结果相同.既没有工作......任何人都有任何建议吗?

java tomcat web.xml servlets

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

3
推荐指数
4
解决办法
2万
查看次数

我的MFC套接字代码中的CAsyncSocket断言问题和"不正确的参数"错误背后的原因是什么?

我被要求为朋友查看一些代码.(由于MFC和许多糟糕的代码,我正确地犹豫了,但他赢了......)

这是一个基于对话框的应用程序,它使用了一个CAsyncSocket.

问题表现在一些不间断的debugbreaks和其他类似的事情 - MFC ENSURE()宏也有问题- 检查套接字是否为null.所有问题都发生在MFC的深处.

如果使用Vista/XP中的主题,一些谷歌搜索显示可能的资源泄漏,但我不认为这是问题.

基于我几个小时的调试,代码非常差,但基本上它正在执行以下操作:

(建立连接时没有问题 - 只有在没有连接时才会出现这种情况)

  • 调用Connect(服务器,套接字)(在派生CAsyncSocket对象上)
  • OnConnect()我们被通知连接不起作用/没有连接.
  • 在主对话框/应用程序的窗口计时器内有一个计时器.当调用timer event/handler时,我们检查是否已连接.
  • 如果我们检测到我们没有连接(OnConnect()不好)那么我们打电话CAsyncSocket::Close(),然后打电话CAsyncSocket::Create()(没有参数)然后打电话CAsyncSocket::Connect(server, port)

请注意,初始调用Connect()没有先前的调用Create().

我的第一个真实问题:

  • 这两者有什么区别,为什么Create()需要?(如果我删除它然后它不再崩溃,但我重新建立连接时也不连接)

一般问题:

  • 上面的代码设计究竟出了什么问题?
  • 这应该如何运作?

编辑:

我固定的代码,这样,所有的路径经过呼吁Create()然后Connect().

我仍然遇到断言问题CAsyncSocket::DoCallBack()- 下面代码的最后一行是断言:

void PASCAL CAsyncSocket::DoCallBack(WPARAM wParam, LPARAM lParam)
{
    if (wParam == 0 && lParam == 0)
        return;

    // Has the socket be closed - lookup in dead …
Run Code Online (Sandbox Code Playgroud)

c++ sockets mfc casyncsocket

5
推荐指数
1
解决办法
4203
查看次数

没有应用程序焦点的Java中的事件监听器?(全球按键检测)

我一直在寻找一段时间,每个人似乎都认为只使用Java是不可能的,所以我会给出一个镜头;)

有没有办法让我的Java应用程序监听事件(特别是关键事件),而另一个不相关的应用程序有窗口焦点?在我的情况下,我想要检测用户何时按下键盘上的"暂停"键,即使我的Java应用程序没有焦点.

我听说有些人提到唯一的方法是编写一些C代码并使用JNI.只是好奇是否有人知道如何避免这种情况?或者,如果没有,至少是关于c/JNI的非常好的教程?

谢谢

java java-native-interface keylistener listener

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