问题列表 - 第22391页

哈希盐是否有任何其他用途,而不是防止彩虹表攻击?

我听说盐的唯一目的是防止彩虹表攻击,但肯定它必须比这更有价值?它不会阻止基于字典的攻击吗?那么暴力强迫,盐会在那里有用吗?你能解释一下原因吗?

其次,假设我有一个算法,它采用了微量的时间,一个128字符的盐和一个介于10亿到100亿之间的随机数,并将它们混合在一起.这会提供很高的安全性吗?因为即使攻击者知道其中一个细节,在我看来计算其余部分仍然在计算上是不可行的.那是对的吗?

谢谢,

编辑:为了澄清,攻击者无法访问哈希算法,因此他们不能向系统发送任何信息.它们只有散列,它们必须弄清楚它是如何编译的.当然,即使他们知道哈希是如何产生的,试图用长盐来强制所有组合也会让它变得不切实际?

此外,哈希不是用户的密码或用户名,它只是用于身份验证的随机字符集.因此,不需要存储salt和随机数,只需要存储结果.在这种情况下,上面的系统,如下面的代码所示,是一个很好的系统,以防止攻击者能够真实地猜测用户的哈希可能是什么?

$salt = "some random characters I made up";
hash('sha256', microtime(true).$salt.mt_rand(1000,9999));
Run Code Online (Sandbox Code Playgroud)

我知道只有1000-9999而不是上面提到的数十亿.

再次感谢.

encryption hash salt rainbowtable

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

通过SSL进行SOAP纯文本密码身份验证的WCF配置

我有一个应用程序通过https连接到实现WS-Security的基于SOAP的Web服务.Web服务是用Java编写的,需要纯文本密码以及正确设置的时间戳.

经过大量的谷歌搜索和实验,我无法弄清楚如何配置我的WCF客户端与此服务进行交互.除了正确答案之外,我还要感谢指向WCF和SOAP的教程的链接.

我当前客户端的app.config如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="MyServiceSoapBinding" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                  <security mode="TransportWithMessageCredential">
                    <transport clientCredentialType="None" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" algorithmSuite="Default" />
                  </security>
                  <!--security mode="None">
                    <transport clientCredentialType="None" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" algorithmSuite="Default" />
                  </security-->
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="https://p1.my.com/tx/services/MyService"
                binding="basicHttpBinding" bindingConfiguration="MyServiceSoapBinding"
                contract="My.IMyService" name="MyServiceEndpointPort" />
        </client>
    </system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)

并且客户端代码如下所示:

string response;

try
{
    MyService.MyServiceClient svc = …
Run Code Online (Sandbox Code Playgroud)

wcf ws-security soap

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

如何在OpenGL ES中为立方体贴图?

让纹理贴图在openGL ES(iphone)中工作时遇到很多麻烦.

这就是我所做的:

  • 构建了一个顶点数组
  • 构建了一个面数组,引用每个面的顶点数组的索引
  • 建立了一个颜色数组,所以我可以肯定我知道立方体上的哪个顶点是哪个.

以下是Jeff Lamarche的教程.获取对象渲染和移动不是问题.

现在我正在尝试获得立方体(实际上是一块瓷砖,Z在X或Y中更窄)以在两个相对的面上粘贴纹理(其他面板可以稍后出现).我已经能够让一张脸上班,但我在任何其他方面都没有得到可行的结果.

在OpenGL ES中纹理映射对象的最系统方法是什么,任何人都可以看到我的代码中的错误在哪里?

#import "GLViewController.h"
#import "ConstantsAndMacros.h"
#import "OpenGLCommon.h"
#import "Cube.h"

@implementation GLViewController

@synthesize initDone;
@synthesize tileArray;
@synthesize tileRows;
@synthesize tileCols;
@synthesize cubes;
@synthesize gridOffsetX;
@synthesize gridOffsetY;
@synthesize gridOffsetZ;
@synthesize tileSpacing;

- (void)drawView:(UIView *)theView
{
    static GLfloat rot = 0.0;

    glEnableClientState(GL_VERTEX_ARRAY);
    glEnableClientState(GL_COLOR_ARRAY);
    glEnableClientState(GL_NORMAL_ARRAY);
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);

    // This is the same result as using Vertex3D, just faster to type and
    // can be made const this way

    static const Vertex3D vertices[]= { …
Run Code Online (Sandbox Code Playgroud)

iphone textures opengl-es

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

异步shell命令

老实说,我无法相信我无法在网上找到解决方案.我碰到了一些看似相似的东西,但没有什么能真正做到我想要的......

我正在尝试使用shell脚本来启动命令.我不在乎是否/何时/如何/为何完成.我希望这个过程能够启动和运行,但我希望能够立即回到我的shell ...

希望这很清楚,我可能只是错过了一些令人难以置信的愚蠢

linux bash shell ubuntu asynchronous

86
推荐指数
5
解决办法
7万
查看次数

ActionMailer密码安全性

我是疯了,还是在实际(开发/生产)配置文件中保留ActionMailer的SMTP用户名和密码是个坏主意?似乎我应该将它存储在加密的地方,或者至少将它从我的Mercurial推送中排除.

现在,我只是在执行推送之前从源文件中删除密码,但是必须比我正在使用的方式更聪明.:)

也许我应该将它作为另一个用户(已经存储有加密密码)存储在我的数据库中并以编程方式获取它?

security ruby-on-rails actionmailer

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

我应该选择哪种轻型C++事件/委托(信号/槽)库?

我知道这个问题已经被提出并得到了回答,但是一年多以前,看起来还有新的选择.

所以我用SFML库编写了一个游戏(实际上我开始发现它很酷)我正在寻找一个轻快的事件/委托库.

在做了一些研究并抛弃了经典的(Boosts.Signals,libsigc ++)之后,我发现了" cpp-events ".它现在看起来不太受欢迎 - 因为它是一个非常新的库 - 但它似乎最难被测试.我很想知道这里是否有人试过它并且可以提供一些反馈.

你有其他类似(或更好)的选择吗?我看起来相当真实的项目(将被维护)而不是论坛上的答案.

谢谢 !

c++ signals-slots

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

如何在汇编语言级别实现线程同步?

虽然我熟悉并发编程概念,如互斥和信号量,但我从未理解它们是如何在汇编语言级别实现的.

我想有一组内存"标志"说:

  • 锁A由线程1保持
  • 锁B由螺纹3保持
  • 锁C不被任何线程保持
  • 等等

但是如何在线程之间同步访问这些标志呢?像这个天真的例子只会产生竞争条件:

  mov edx, [myThreadId]
wait:
  cmp [lock], 0
  jne wait
  mov [lock], edx
  ; I wanted an exclusive lock but the above 
  ; three instructions are not an atomic operation :(
Run Code Online (Sandbox Code Playgroud)

concurrency x86 assembly multithreading synchronization

24
推荐指数
2
解决办法
8282
查看次数

我可以在iPhone的网络浏览器上运行网页嵌入式Java Applet吗?

我可以运行嵌入在iPhone上的HTML标签中的Java小程序吗?我不是指应用程序,而是实际通过它的浏览器.

java iphone applet

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

用于持续集成的VPS/VDS(TeamCity)

我们正在考虑将一些现有基础设施迁移到虚拟空间,因此问题是:

您会根据自己的经验推荐一个虚拟主机提供商来托管TeamCity CI服务器吗?

获取公司名称/链接会很好,但如果违反列出您的VPS配置的规则也应该这样做.

hosting virtualization teamcity continuous-integration

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

什么是在运行时测量和跟踪各种调用的性能的最佳方法?

我正在尝试优化代码的性能,但我一般不熟悉xcode的调试器或调试器.是否可以跟踪在运行时进行的调用的执行时间和频率?

想象一段事件链,在几分之一秒内有一些递归调用.跟踪CPU花费大部分时间的最佳方法是什么?

非常感谢.

编辑:也许最好问一下,如何使用xcode调试工具进行堆栈跟踪?

iphone debugging optimization performance xcode

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