我听说盐的唯一目的是防止彩虹表攻击,但肯定它必须比这更有价值?它不会阻止基于字典的攻击吗?那么暴力强迫,盐会在那里有用吗?你能解释一下原因吗?
其次,假设我有一个算法,它采用了微量的时间,一个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而不是上面提到的数十亿.
再次感谢.
我有一个应用程序通过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) 让纹理贴图在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) 老实说,我无法相信我无法在网上找到解决方案.我碰到了一些看似相似的东西,但没有什么能真正做到我想要的......
我正在尝试使用shell脚本来启动命令.我不在乎是否/何时/如何/为何完成.我希望这个过程能够启动和运行,但我希望能够立即回到我的shell ...
希望这很清楚,我可能只是错过了一些令人难以置信的愚蠢
我是疯了,还是在实际(开发/生产)配置文件中保留ActionMailer的SMTP用户名和密码是个坏主意?似乎我应该将它存储在加密的地方,或者至少将它从我的Mercurial推送中排除.
现在,我只是在执行推送之前从源文件中删除密码,但是必须比我正在使用的方式更聪明.:)
也许我应该将它作为另一个用户(已经存储有加密密码)存储在我的数据库中并以编程方式获取它?
我知道这个问题已经被提出并得到了回答,但是一年多以前,看起来还有新的选择.
所以我用SFML库编写了一个游戏(实际上我开始发现它很酷)我正在寻找一个轻快的事件/委托库.
在做了一些研究并抛弃了经典的(Boosts.Signals,libsigc ++)之后,我发现了" cpp-events ".它现在看起来不太受欢迎 - 因为它是一个非常新的库 - 但它似乎最难被测试.我很想知道这里是否有人试过它并且可以提供一些反馈.
你有其他类似(或更好)的选择吗?我看起来相当真实的项目(将被维护)而不是论坛上的答案.
谢谢 !
虽然我熟悉并发编程概念,如互斥和信号量,但我从未理解它们是如何在汇编语言级别实现的.
我想有一组内存"标志"说:
但是如何在线程之间同步访问这些标志呢?像这个天真的例子只会产生竞争条件:
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) 我可以运行嵌入在iPhone上的HTML标签中的Java小程序吗?我不是指应用程序,而是实际通过它的浏览器.
我们正在考虑将一些现有基础设施迁移到虚拟空间,因此问题是:
您会根据自己的经验推荐一个虚拟主机提供商来托管TeamCity CI服务器吗?
获取公司名称/链接会很好,但如果违反列出您的VPS配置的规则也应该这样做.
我正在尝试优化代码的性能,但我一般不熟悉xcode的调试器或调试器.是否可以跟踪在运行时进行的调用的执行时间和频率?
想象一段事件链,在几分之一秒内有一些递归调用.跟踪CPU花费大部分时间的最佳方法是什么?
非常感谢.
编辑:也许最好问一下,如何使用xcode调试工具进行堆栈跟踪?
iphone ×3
actionmailer ×1
applet ×1
assembly ×1
asynchronous ×1
bash ×1
c++ ×1
concurrency ×1
debugging ×1
encryption ×1
hash ×1
hosting ×1
java ×1
linux ×1
opengl-es ×1
optimization ×1
performance ×1
rainbowtable ×1
salt ×1
security ×1
shell ×1
soap ×1
teamcity ×1
textures ×1
ubuntu ×1
wcf ×1
ws-security ×1
x86 ×1
xcode ×1