小编hoc*_*bro的帖子

在Swift 3.0中生成随机字节

我想SecRandomCopyBytes在Swift 3.0中使用生成随机字节.这是我在Swift 2.2中的表现

private static func generateRandomBytes() -> String? {
    let data = NSMutableData(length: Int(32))

    let result = SecRandomCopyBytes(kSecRandomDefault, 32, UnsafeMutablePointer<UInt8>(data!.mutableBytes))
    if result == errSecSuccess {
        return data!.base64EncodedString(options: NSData.Base64EncodingOptions(rawValue: 0))
    } else {
        print("Problem generating random bytes")
        return nil
    }
}
Run Code Online (Sandbox Code Playgroud)

在Swift 3中,我尝试这样做,因为我知道unsafemutablebytes的概念现在不同了,但它不允许我返回.如果我评论退货部分,它仍然说Generic Parameter ResultType could not be inferred

fileprivate static func generateRandomBytes() -> String? {
    var keyData = Data(count: 32)
    _ = keyData.withUnsafeMutableBytes {mutableBytes in
        let result = SecRandomCopyBytes(kSecRandomDefault, keyData.count, mutableBytes)
        if result == errSecSuccess { …
Run Code Online (Sandbox Code Playgroud)

ios swift swift3 swift5

12
推荐指数
3
解决办法
6768
查看次数

在iOS上进行故障加密并使用RAW RSA在Node.js上进行解密

我正在尝试加密iOS端的东西并在我的node.js服务器上解密它.在服务器上,我正在使用库伪造.我能够加密某些东西并在node.js上解密它,这很有效.我像这样加密:const encryptedPassword = publicKey.encrypt(password, 'RAW');并解密如下:const password = privateKey.decrypt(encryptedPassword, 'RAW');.

现在,我想在我的iOS应用程序上加密,而不是在服务器中加密,但仍然使用相同的方式解密.我找到了这个库,swift-rsautils.https://github.com/btnguyen2k/swift-rsautils/blob/master/Swift-RSAUtils/RSAUtils.swift它调用了这个函数encryptWithRSAKey,这就是我正在使用的函数.由于它是原始加密,我试图传入填充SecPaddingNone.但是,不幸的是它不起作用,我无法在服务器上解密.错误消息的长度无效,并且base64数据的长度确实看起来要大得多.有谁知道如何解决这个问题?

这是我的iOS代码:

let dataString = text.dataUsingEncoding(NSUTF8StringEncoding)
let certificateLabel = "certificate"
let certificateRef = self.getCertificateFromKeyChain(certificateLabel)
let certificateData = self.getDataFromCertificate(certificateRef)
let cryptoImportExportManager = CryptoExportImportManager()
let publicKeyRef = cryptoImportExportManager.importPublicKeyReferenceFromDERCertificate(certificateData)
let encryptedData = self.encryptWithRSAKey(data, rsaKeyRef: publicKeyRef!, padding: SecPadding.None)
let base64EncryptedString = encryptedData?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
Run Code Online (Sandbox Code Playgroud)

然后我将此base64加密字符串发送到服务器并尝试使用私钥解密.不幸的是,它不起作用.

encryption rsa node.js ios

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

带Bitcode的OpenSSL CocoaPod iOS?

是否有支持bitcode的OpenSSL cocoapod?以前我使用过pod 'OpenSSL',但我想在我的应用程序中使用bitcode.有没有办法做到这一点,还是我必须自己构建OpenSSL?

谢谢

openssl ios cocoapods bitcode

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

如何在Tensorflow中有多个Softmax输出?

我正在尝试使用多个softmax输出创建一个张量流网络,每个输出都有不同的大小.网络架构是:输入 - > LSTM - > Dropout.然后我有2个softmax层:10个输出的Softmax和20个输出的Softmax.这是因为我想生成两组输出(10和20),然后将它们组合起来产生最终输出.我不知道如何在Tensorflow中做到这一点.

以前,要制作一个类似描述的网络,但只有一个softmax,我想我可以做这样的事情.

inputs = tf.placeholder(tf.float32, [batch_size, maxlength, vocabsize])
lengths = tf.placeholders(tf.int32, [batch_size])
embeddings = tf.Variable(tf.random_uniform([vocabsize, 256], -1, 1))
lstm = {}
lstm[0] = tf.contrib.rnn.LSTMCell(hidden_layer_size, state_is_tuple=True, initializer=tf.contrib.layers.xavier_initializer(seed=random_seed))
lstm[0] = tf.contrib.rnn.DropoutWrapper(lstm[0], output_keep_prob=0.5)
lstm[0] = tf.contrib.rnn.MultiRNNCell(cells=[lstm[0]] * 1, state_is_tuple=True)
output_layer = {}
output_layer[0] = Layer.W(1 * hidden_layer_size, 20, 'OutputLayer')
output_bias = {}
output_bias[0] = Layer.b(20, 'OutputBias')
outputs = {}
fstate = {}
with tf.variable_scope("lstm0"):
    # create the rnn graph at run time
  outputs[0], fstate[0] = tf.nn.dynamic_rnn(lstm[0], tf.nn.embedding_lookup(embeddings, …
Run Code Online (Sandbox Code Playgroud)

python deep-learning tensorflow

8
推荐指数
2
解决办法
3015
查看次数

表达太复杂,无法在合理的时间内解决Swift 3

我正在尝试将我的项目转换为Swift 3,但我收到一条错误消息,表达式太复杂,无法在合理的时间内解决.我不知道为什么会这样,因为这个表达式在Swift 2.2中运行良好,但是现在突然间它需要这么长时间?

有谁知道我怎么解决这个问题?这是表达式.它基本上是一个字典,稍后将用于SecItemCopyMatching从使用密钥标记保存的钥匙串中提取项目.它执行a touchID来执行此操作,因为它是使用该锁定参数保存的:

let query : [String: AnyObject] = [String(kSecClass) : kSecClassGenericPassword,
     String(kSecAttrService) : keyTag as AnyObject,
     String(kSecAttrAccount) : keyTag,
     String(kSecReturnData) : kCFBooleanTrue,
     String(kSecMatchLimit) : kSecMatchLimitOne,
     String(kSecUseOperationPrompt) : message]
Run Code Online (Sandbox Code Playgroud)

xcode ios swift swift3 xcode8

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

从 Chrome 扩展程序与 MacOSX 应用程序对话

我的浏览器中运行着一个 Chrome 扩展程序。我还有一个在 Xcode 中用 Swift/Objective-c 编写的 Mac OSX 应用程序。我想知道这个 chrome 扩展如何与同一台计算机上的 Mac OSX 应用程序通信。

我知道 Chrome 扩展 API,但不知道如何捕获 Chrome 在 Swift 中发送的信息。有谁知道如何做到这一点?

谢谢

macos objective-c google-chrome-extension

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

在iOS库中生成CSR?

我想看看是否可以在iOS中生成CSR(证书签名请求),以及是否有库.我想生成一个请求,使用扩展中的私钥对其进行签名,然后将CSR请求发送回服务器.

这是可能的,有一个很好的图书馆吗?

谢谢

ssl csr ios

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