我有一个生成字符串sha256加密的函数,
这是功能:
-(NSString*)sha256HashFor:(NSString*)input
{
const char* str = [input UTF8String];
unsigned char result[CC_SHA256_DIGEST_LENGTH];
CC_SHA256(str, strlen(str), result);
NSMutableString *ret = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH*2];
for(int i = 0; i<CC_SHA256_DIGEST_LENGTH; i++)
{
[ret appendFormat:@"%02x",result[i]];
}
return ret;
}
Run Code Online (Sandbox Code Playgroud)
现在这一行CC_SHA256(str, strlen(str), result);是产生此警告的内容(警告是针对strlen(str)变量的).
Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'CC_LONG' (aka 'unsigned int')
Run Code Online (Sandbox Code Playgroud)
我猜我只需要将strlen(str)转换为CC_Long,但我不知道该怎么做.
所以我需要在Objective-C中生成一个Sha256密码,并且无法弄清楚我的生活怎么做!有什么容易的东西,我只是缺少?
我已经尝试实现以下方法(这是为iPhone编写的,但我想也许它可以跨平台工作,就像一些Objective-C代码那样)
-(NSString*)sha256HashFor:(NSString*)input
{
const char* str = [input UTF8String];
unsigned char result[CC_SHA256_DIGEST_LENGTH];
CC_SHA256(str, strlen(str), result);
NSMutableString *ret = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH*2];
for(int i = 0; i<CC_SHA256_DIGEST_LENGTH; i++)
{
[ret appendFormat:@"%02x",result[i]];
}
return ret;
}
Run Code Online (Sandbox Code Playgroud)
但这只是吐出有关CC_SHA256_DIGEST_LENGTH是未声明标识符的错误.
所以我有点难过,我有一个像这样的表设置
+-----------+------+
| Timestamp | Size |
+-----------+------+
| 1-1-13 + 10.3 +
+-----------+------+
| 1-3-13 + 6.7 +
+-----------+------+
| 1-5-13 + 3.0 +
+-----------+------+
| 1-9-13 + 11.4 +
+-----------+------+
Run Code Online (Sandbox Code Playgroud)
而且我想知道是否有任何方法可以运行这样的查询
SELECT * FROM table ORDER BY timestamp ASC LIMIT BY (SUM(size) <= 20.0);
这应该抓住前三行,因为前3行的大小总和为20.但是,它可能并不总是3行等于20.有时第一行的值可能为20,并且情况下,它应该只抓住第一个.
我已经意识到这可以在查询运行后快速计算PHP中的总和,但我只想用MySQL完成这个.
我最近更改了我的Web服务器上的配置,并将我的MySQL数据库移动到远程服务器.在进行更改后,我从我的Web服务器中删除了MySQL,以使其尽可能小.我的WordPress站点与远程SQL完美配合,直到我在本地服务器上删除它.然后我得到了错误:
您的PHP安装似乎缺少WordPress所需的MySQL扩展
我很好奇为什么WordPress强迫你安装它甚至在使用远程连接时?有办法解决这个问题吗?
最糟糕的情况我想我会重新安装MySQL.
我正在寻找一种结合字典的优雅方法。
Input: [[a: foo], [b: bar], [c: baz]]
Output: [a: foo, b: bar, c: baz]
Run Code Online (Sandbox Code Playgroud)
实现此目标的最佳方法是什么?