我成功加密和解密,但是当我解密该值时,字符串末尾会出现奇怪的字符" ".最初$_POST['value']没有空格或任何奇怪的字符.
我怎么解决这个问题?
我用这个加密:
$key = 'my key';
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$id = mcrypt_generic($td, $_POST['value']);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
Run Code Online (Sandbox Code Playgroud)
我用这个解密:
$key = 'my key';
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$id = mdecrypt_generic($td, $_COOKIE['value']);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
Run Code Online (Sandbox Code Playgroud) 我正在使用称为django-granular-permissions(http://code.google.com/p/django-granular-permissions/)的行级权限模型.权限模型只有两个字段,即content-type和object id.
我使用了以下查询:
User.objects.filter(Q(row_permission_set__name='staff') | \
Q(row_permission_set__name='student'), \
row_permission_set__object_id=labsite.id)
Run Code Online (Sandbox Code Playgroud)
我想在结果集中添加is_staff和is_student布尔字段,而不是每次获取结果时都要查询.
Django文档显示了查询集的extra()方法,但我无法弄清楚我应该用这种关系为纯SQL选择查询编写什么.
这该怎么做?
我很难理解多维数组.我有三个数据(strFname,strLname,strMname).
我需要将这些数据放在一个多维数组中.可能有n行.但是对于每一行,我需要添加这三个数据.
欢迎任何有用的参考.
我正在产生一些在他们自己的gnome-terminal中运行的进程,并且不想显示滚动条.是否有类似于xterm +sb
关闭该特定窗口的滚动条?
我想尝试一下 VS2k10,但我处于 VS2k8 环境中。我比较了 VS2k10 中升级后的项目文件,唯一的区别是更新后的版本号 - 如何阻止 VS 这样做?
有没有人知道如何XmlDocument.LoadXml()在不使用try/catch块之类的东西的情况下检查字符串是否包含格式良好的XML ?我有输入可能是也可能不是XML,我希望代码能够识别输入可能不是XML而不依赖于try/catch,速度和非特殊情况不应该提高的一般原则例外.我目前有代码执行此操作;
private bool IsValidXML(string value)
{
try
{
// Check we actually have a value
if (string.IsNullOrEmpty(value) == false)
{
// Try to load the value into a document
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(value);
// If we managed with no exception then this is valid XML!
return true;
}
else
{
// A blank value is not valid xml
return false;
}
}
catch (System.Xml.XmlException)
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
但它似乎不应该需要try/catch.异常是在调试期间导致快乐的地狱,因为每次我检查字符串时调试器都会在这里打破,"帮助"我解决我的麻烦问题.
我需要旋转UIImage以响应用户输入.我希望它尽可能光滑,因此想知道哪种是执行转换和渲染的最快方法.理想情况下,我想留在UIKit或Quartz框架内.图像的属性如下:
实现此功能的最佳方法和实践是什么?
注意:此stackoverflow答案中描述了一种方法,但我不确定这是否是最佳的.我当然会试一试,但我很想知道这是否被认为是"最佳实践".
是否可以使用[UIDevice currentDevice]的任何属性区分iPhone 3G和iPhone 3G?
比方说,我有一个NSArray的NSDictionaries是10个元素长.我想NSArray用每个字典上的单个键的值创建第二个.我能想到的最好方法是:
NSMutableArray *nameArray = [[NSMutableArray alloc] initWithCapacity:[array count]];
for (NSDictionary *p in array) {
[nameArray addObject:[p objectForKey:@"name"]];
}
self.my_new_array = array;
[array release];
[nameArray release];
}
Run Code Online (Sandbox Code Playgroud)
但理论上,我应该能够避免使用可变数组并使用计数器[nameArray addObjectAtIndex:count],因为新列表应该与旧列表完全一样长.请注意,我不是要尝试过滤原始数组的子集,而是创建一个具有完全相同数量的元素的新数组,只需要从数组中每个元素的某个任意属性中挖掘出来的值.
在python中,可以像这样解决这个问题:
new_list = [p['name'] for p in old_list]
Run Code Online (Sandbox Code Playgroud)
或者如果你是一个受虐狂,像这样:
new_list = map(lambda p: p['name'], old_list)
Run Code Online (Sandbox Code Playgroud)
在objective-c中必须稍微明确一点,这让我想知道是否有一种公认的处理这些情况的常用方法.