我有一个Django应用程序,它重置在Ubuntu机器上运行的unix用户密码,但我的开发环境是OS X,我遇到了这种烦人的情况:
OS X:
>>> import crypt
>>> crypt.crypt('test','$1$VFvON1xK$')
'$1SoNol0Ye6Xk'
Run Code Online (Sandbox Code Playgroud)
Linux的:
>>> import crypt
>>> crypt.crypt('test','$1$VFvON1xK$')
'$1$VFvON1xK$SboCDZGBieKF1ns2GBfY50'
Run Code Online (Sandbox Code Playgroud)
从阅读pydoc开始crypt,我看到它使用了特定于操作系统的crypt实现,因此我还在两个系统中测试了以下代码,结果与Python相同:
#include <unistd.h>
int main() {
char *des = crypt("test","$1$VFvON1xK$ls4Zz4XTEuVI.1PnYm28.1");
puts(des);
}
Run Code Online (Sandbox Code Playgroud)
我如何让OS X的crypt()实现产生与Linux相同的结果crypt()?
为什么Python实现没有涵盖这一点(正如我对跨平台部署的这种情况所期望的那样)?
我有:
@interface SuperClass : UIViewController <UITableViewDelegate,UITableViewDataSource>
Run Code Online (Sandbox Code Playgroud)
然后
@interface SubClass : SuperClass
Run Code Online (Sandbox Code Playgroud)
这SuperClass没有实现所需的协议方法SubClass.
是否可以防止警告(说SuperClass实现不完整)?
而不是实现empty/nil方法SuperClass,可以对@required警告进行验证SubClass吗?
有什么区别
char *a[10];
Run Code Online (Sandbox Code Playgroud)
和
char *(a[10]);
Run Code Online (Sandbox Code Playgroud)
我总是使用第一个用于char指针数组,但现在我发现代码使用了第二个.
由于我不确定它是否是同一个东西,我打印sizeof()两者都返回80(64位操作系统)所以我倾向于相信两者是相同的(一个char指针数组).
但由于我无法在线或使用*([])语法找到任何解释,我正在寻找一些确认.
谢谢
我一直在谷歌搜索如何做到这一点(在Java中),但收效甚微.
创建Signature对象非常简单,获取证书链也是如此,但如何使用该数据创建分离的PKCS#7对象?
所以我在模板上下文中有一个列表,我想随机应用然后访问结果对象的属性.
到目前为止,我在django文档的模板部分读到的内容,过滤器总是必须在变量之后才能理解(尽管我还是尝试过)
{{ my_list|random.attribute }}
Run Code Online (Sandbox Code Playgroud)
不行.
现在我正在使用自定义过滤器来访问属性,所以我可以在任何其他过滤器之后将其链接起来,但对此最好的解决方案是什么?