小编SCh*_*ang的帖子

node.bcrypt.js如何在没有盐的情况下比较散列密码和明文密码?

来自github:

哈希密码:

var bcrypt = require('bcrypt');
bcrypt.genSalt(10, function(err, salt) {
    bcrypt.hash("B4c0/\/", salt, function(err, hash) {
        // Store hash in your password DB.
    });
});
Run Code Online (Sandbox Code Playgroud)

要检查密码:

// Load hash from your password DB.
bcrypt.compare("B4c0/\/", hash, function(err, res) {
    // res == true
});
bcrypt.compare("not_bacon", hash, function(err, res) {
    // res = false
});
Run Code Online (Sandbox Code Playgroud)

从上面来看,如何在比较中不涉及盐值?我在这里错过了什么?

bcrypt node.js

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

占位符文本在UISearchBar的UITextField中未对齐

我试图通过外观代理自定义UISearchBar的字体.它工作,但不知何故,占位符文本不垂直居中.我试图设置垂直对齐属性; 占位符文本将居中,但输入的文本将略低于中心线...有没有办法解决这个问题?

编辑:代码我用来添加自定义字体:

[[UITextField appearanceWhenContainedIn: [UISearchBar class], nil]
                                setFont: [UIFont customFontWithSize: 17]];
Run Code Online (Sandbox Code Playgroud)

占位符文本

普通文字

iphone uitextfield uisearchbar ios ios5

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

无法理解Objective-C块文档

我目前无法理解Obj-C块的基本原理和__block存储类型.从以下文档:

http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Blocks/Articles/bxVariables.html#//apple_ref/doc/uid/TP40007502-CH6-SW6

我想了解以下段落和示例:

复制块时,它会创建对块中使用的对象变量的强引用.如果在方法的实现中使用块:

如果通过引用访问实例变量,则强烈引用self; 如果按值访问实例变量,则会对该变量进行强引用.以下示例说明了两种不同的情况:

dispatch_async(queue, ^{
    // instanceVariable is used by reference, a strong reference is made to self
    doSomethingWithObject(instanceVariable);
});
Run Code Online (Sandbox Code Playgroud)
id localVariable = instanceVariable;
dispatch_async(queue, ^{
    /*
      localVariable is used by value, a strong reference is made to localVariable
      (and not to self).
    */
    doSomethingWithObject(localVariable);
});
Run Code Online (Sandbox Code Playgroud)

要覆盖特定对象变量的此行为,可以使用__block存储类型修饰符对其进行标记.

我的问题:

  1. 一个示例究竟是如何"通过引用访问"而另一个示例是通过变量访问的?为什么localVariable"按价值使用?"
  2. 该文件的意思是"强烈参考自我"?它指的是哪个"自我"?
  3. 如果我在第二个例子中将__block存储类型添加到localVariable,我错误地认为该块关闭了变量,所以它将它保留在堆中直到块被释放?还有其他什么事情发生?

谢谢!

objective-c ios objective-c-blocks

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

方法接收器模糊

今天去旅游.我注意到我可以将struct literals传递给与指向结构的指针相关联的方法,反之亦然.为什么允许这样做?

package main

import (
    "fmt"
)

type Vertex struct {
    X, Y float64
}

func (v Vertex) Scale (f float64) {
    v.X = v.X * f
    v.Y = v.Y * f
}

func (v *Vertex) ScaleP(f float64) {
    v.X = v.X * f
    v.Y = v.Y * f
}

func main() {
    v := &Vertex{3, 4}
    vLiteral := Vertex{3, 4}

    v.Scale(5)
    fmt.Println(v)

    v.ScaleP(5)
    fmt.Println(v)

    vLiteral.Scale(5)
    fmt.Println(vLiteral)

    vLiteral.ScaleP(5)
    fmt.Println(vLiteral)
}
Run Code Online (Sandbox Code Playgroud)

输出:

&{3 4}
&{15 20}
{3 4}
{15 20}
Run Code Online (Sandbox Code Playgroud)

go

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

适用于 iOS 的 Google Maps SDK:重新定位 Google 徽标

对于 iOS 的新 sdk,Google 徽标是否可重新定位,就像 Mapkit pre-iOS 6 一样?另外,在条件条款下允许吗?

谢谢

google-maps-api-3 google-maps-mobile google-maps-sdk-ios

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