嗨我有一些关于在Android,Blackberry和J2ME上实现加密存储(加密文件系统类型)的问题(请阅读Doubts部分).密码学硕士,我需要你的建议.
我知道这个问题有点长,可能太冗长了,但是请尝试阅读它直到最后(我有很多相关的问题,我不能在几个帖子中将它们分开).如果您能就我的至少一个问题(怀疑部分)给我一些反馈,我将非常感激.
谢谢,
我目前正在为多平台存储系统设计API,该系统将提供与以下支持的移动Java平台相同的接口和功能:
基本上API会运行三种商店:
受JSR-75启发,所有类型的商店都将通过符合RFC 1738惯例的URL以统一的方式访问,但具有自定义前缀(即"file://"表示文件,"prefs://"表示对于消息队列,首选项或"queue://").该地址将指的是每个移动平台实现将映射到物理存储对象的虚拟位置.只有文件才允许分层存储(文件夹)和访问外部存储卡(通过单元名称,与JSR-75相同,但不管底层平台如何都不会改变).其他类型只支持平面存储.
系统还应支持所有基本类型的安全版本.用户通过在URL上加"s"前缀来表示它(即"sfile://"而不是"file://").API 只需要一个PIN(仅引入一次)来访问任何类型的安全对象类型.
为了实现明文和加密存储,我将使用底层平台上可用的功能:
在加密方面,应满足一些要求:
达到这一点后,考虑到平台的局限性,我对于哪种解决方案更方便感到震惊.这些是我的一些疑问:
我希望能够对我的.emacs文件进行更改,而无需重新加载Emacs.
我发现了三个问题,它们回答了我的问题(你可以在这里,这里和这里找到它们),但问题是我刚刚做出的改变是切换,并作为对两个答案的评论(a1,a2)对于那些问题的解释,那里给出的解决方案(例如Mx reload-file或Mx eval-buffer)不适用于切换.
我想有一种方法可以使用命令再次切换变量,但如果有办法重新加载整个.emacs并重新评估所有切换而不必指定它们,我宁愿.
在任何情况下,如果有人告诉我如何切换变量的值,我也会感激,如果我只是改变了一个切换,我可以用命令来做,而不是为此重新启动Emacs(我是Emacs的新手) ).我不知道这些信息是多么有用,但我应用了变化如下(这是我从拿到这个回答另一个问题):
(setq skeleton-pair t)
(setq skeleton-pair-on-word t)
(global-set-key (kbd "[") 'skeleton-pair-insert-maybe)
(global-set-key (kbd "(") 'skeleton-pair-insert-maybe)
(global-set-key (kbd "{") 'skeleton-pair-insert-maybe)
(global-set-key (kbd "<") 'skeleton-pair-insert-maybe)
Run Code Online (Sandbox Code Playgroud)
编辑:我在.emacs中包含了上面的内容并重新加载了Emacs,以便更改生效.然后我评论了所有这些并尝试了Mx加载文件.这不起作用.下面的建议(如果我使用它来首次评估切换,但是当我想要撤消它时,PP的 Cx Ce可以工作).如果这样的事情存在的话,我想要评估评论的东西......
谢谢 :)
我正在运行一些测试,需要写入文件.当我运行测试时,open = (file, 'r+')不会写入文件.测试脚本如下:
class GetDetailsIP(TestGet):
def runTest(self):
self.category = ['PTZ']
try:
# This run's and return's a value
result = self.client.service.Get(self.category)
mylogfile = open("test.txt", "r+")
print >>mylogfile, result
result = ("".join(mylogfile.readlines()[2]))
result = str(result.split(':')[1].lstrip("//").split("/")[0])
mylogfile.close()
except suds.WebFault, e:
assert False
except Exception, e:
pass
finally:
if 'result' in locals():
self.assertEquals(result, self.camera_ip)
else:
assert False
Run Code Online (Sandbox Code Playgroud)
当此测试运行时,没有任何值输入到文本文件中,并且在变量结果中返回一个值.
我也试过了mylogfile.write(result).如果该文件不存在则声明该文件不存在且不创建该文件.
这可能是一个权限问题,其中不允许python创建文件?我确保此文件的所有其他读取都已关闭,因此我不应该锁定该文件.
任何人都可以提出任何建议,为什么会这样?
谢谢
请考虑以下宏定义和调用:
#define x x[0]
#define y(arg) arg
y(x)
Run Code Online (Sandbox Code Playgroud)
此调用扩展为x[0](在Visual C++ 2010,g ++ 4.1,mcpp 2.7.2和Wave上测试).
为什么? 具体来说,为什么不扩展到x[0][0]?
在宏替换期间,
在扩展了包含在其中的所有宏之后,替换列表中的参数...被相应的参数替换.在被替换之前,每个参数的预处理标记都被完全宏替换(C++03§16.3.1/ 1).
评估宏调用,我们采取以下步骤:
y调用类函数宏x作为其arg参数的参数x在参数是宏观替换成为x[0]arg在替换列表由参数的宏代替值代替,x[0]替换所有参数后的替换列表是x[0].
替换替换列表中的所有参数后,重新扫描生成的预处理标记序列...以替换更多的宏名称(C++03§16.3.4/ 1).
如果在替换列表的扫描期间找到要替换的宏的名称...则不会替换它.此外,如果任何嵌套替换遇到要替换的宏的名称,则不替换它(C++03§16.3.4/ 2).
x[0]重新扫描替换列表(请注意,要替换的宏的名称是y):
x 被标识为类似对象的宏调用x 被替换为 x[0]由于§16.3.4/ 2中的规则阻止了递归,因此此时替换停止.重新扫描后的替换列表是x[0][0].
我清楚地误解了一些东西,因为我测试的所有预处理器都说我错了.此外,这个例子是C++ 0x FCD(§16.3.5/ 5)中的一个更大的例子,它也表示预期的替换是x[0].
x在重新扫描期间为什么不更换?
C99和C++ 0x实际上与引用部分中的C++ 03具有相同的措辞.
大家好我有以下问题.我的MySQL数据库中有一个保留表,日期列定义为DATETIME.我需要使用hibernate进行查询,以便在一天内查找所有储备,无论是一小时,只是在同一年的月份和日期,我正在这样做
public List<Reserve> bringAllResByDate(Date date){
em = emf.createEntityManager();
Query q = em.createQuery("SELECT r FROM Reserve r WHERE r.date=:date ");
q.setParameter("date", date);
Run Code Online (Sandbox Code Playgroud)
...
我真的不知道怎么做它比较,并带给我那些从指定的日期,任何帮助?
我想我在Params :: Validate中遇到过一个错误,但我不确定我是否正确识别出有问题的代码.有问题的代码无法通过链传递异常(使用Try :: Tiny),所以我开始调试并发现try块内使用的类有一个析构函数.这个析构函数调用使用Params::Validate和查看Validate.pm 源代码的对象方法,我看到eval没有$@本地化,即全局$@被覆盖.
现在我看到两个选项:
Params::Validate应始终本地化$@,因此这是一个应报告的错误.Params::Validate在析构函数中使用.Params::Validate可以保持现状.哪一个?我该如何处理这种情况?
PS:我认为CPAN模块应该坚如磐石,既不会破坏自己也不会破坏环境,因此问题标题.
<input type='text' id='txt' name='txtName' size='20' value='testing'/>
<script type="text/javascript" language='javascript'>
var val = document.getElementsByName('txtName');
alert(val[0].value);
alert(window.txtName.value);
</script>
Run Code Online (Sandbox Code Playgroud)
在上面的代码我们正在使用
alert(val[0].value);
alert(window.txtName.value);
Run Code Online (Sandbox Code Playgroud)
这两种从对象中获取价值的方法.两种方式之间有什么区别,哪种方式最好.
大家早上好,
我一直在尝试编写一个从需要身份验证的远程Web服务执行某些GET的应用程序.我的主要问题是这些远程服务器中的大多数(并且有很多远程服务器)没有有效的证书.我有代码接受无效的证书和代码,以正确的uname&pass(下面)来响应挑战.我遇到的问题是让两人一起玩.我似乎无法找到一种方法来发送挑战NSURLCredential或正确链接回调的方法.当我试图将它们连接起来时,我无法NSURLRequest接到didReceiveAuthenticationChallenge两次电话.
任何想法将不胜感激!
认证代码......
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
if(!hasCanceled){
if ([challenge previousFailureCount] == 0) {
NSURLCredential *newCredential;
newCredential=[NSURLCredential credentialWithUser:_username password:_password persistence:NSURLCredentialPersistenceNone];
[[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
}
else {
[[challenge sender] cancelAuthenticationChallenge:challenge];
NSLog(@"Bad Username Or Password");
badUsernameAndPassword = YES;
finished = YES;
}
}
}
Run Code Online (Sandbox Code Playgroud) 这就是我想出的.它有效,但我想知道是否有更优雅的东西.谢谢!
米莎
/* Copyright (c) 2010 Misha Koshelev. All Rights Reserved.
*
* TODO:
* - Add Linux support
*/
package com.mksoft.common;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URI;
import java.net.URISyntaxException;
/**
* Run specified class within this JAR file on system startup.
*
* @author Misha Koshelev
*/
public class RunOnSystemStartup {
/*
* Constants
*/
protected final static String osName=System.getProperty("os.name");
protected final static String fileSeparator=System.getProperty("file.separator");
protected final static String javaHome=System.getProperty("java.home");
protected …Run Code Online (Sandbox Code Playgroud)