gpt4 book ai didi

ios - 伐木 worker iOS : How to write encrypted logs (Block Encryption)

转载 作者:可可西里 更新时间:2023-11-01 05:43:16 27 4
gpt4 key购买 nike

我正在使用 Lumberjack 作为日志记录平台(Objective C/Swift)有没有办法将日志加密写入文件?

  • 如果是,那么任何例子都是有用的
  • 另外,之后如何读取加密后的日志
  • 密集型日志记录是否有不同类型的加密?我听说过 block 加密

最佳答案

如果你想推出自己的自定义记录器

import CocoaLumberjack
import Security

public class EncryptedLogger: DDAbstractLogger {
let key: SecKey!
let blockSize : Int
let padding : SecPadding

init(key: SecKey!, blockSize : Int = 128, padding: SecPadding = .PKCS1) {
self.key = key
self.blockSize = blockSize
self.padding = padding
}

convenience init(keyFilePath: String, blockSize: Int = 128, padding: SecPadding = .PKCS1) {
//TODO: load key from file
self.init(key: nil, blockSize: blockSize, padding: padding)
}

/**
* The log message method
*
* @param logMessage the message (model)
*/
public override func logMessage(logMessage: DDLogMessage!) {
let plainText = logFormatter != nil ? logFormatter.formatLogMessage(logMessage) : logMessage.message;

let plainTextData = [UInt8](plainText.utf8)

var encryptedData = [UInt8](count: Int(blockSize), repeatedValue: 0)
var encryptedDataLength = blockSize

let result = SecKeyEncrypt(key, padding, plainTextData, plainTextData.count, &encryptedData, &encryptedDataLength)

//TODO: write the encryptedData to a file or post it to some endpoint
//...
}

@objc
public override var loggerName: String! {
get {
return "\(self.dynamicType)"
}
}
}

关于ios - 伐木 worker iOS : How to write encrypted logs (Block Encryption),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37371566/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com