有没有办法在Windows XP上使用Python的DPAPI(数据保护应用程序编程接口)?
如果有一个可以做到的话,我更愿意使用现有的模块.很遗憾,我无法找到Google或Stack Overflow的方法.
编辑:我已经采用了"dF"指向的示例代码,并将其调整为一个独立的库,可以在高级别使用,只需在用户模式下使用DPAPI进行加密和解密.只需调用返回加密字符串的dpapi.cryptData(text_to_encrypt)或返回纯文本的反向decryptData(encrypted_data_string).这是图书馆:
# DPAPI access library
# This file uses code originally created by Crusher Joe:
# http://article.gmane.org/gmane.comp.python.ctypes/420
#
from ctypes import *
from ctypes.wintypes import DWORD
LocalFree = windll.kernel32.LocalFree
memcpy = cdll.msvcrt.memcpy
CryptProtectData = windll.crypt32.CryptProtectData
CryptUnprotectData = windll.crypt32.CryptUnprotectData
CRYPTPROTECT_UI_FORBIDDEN = 0x01
extraEntropy = "cl;ad13 \0al;323kjd #(adl;k$#ajsd"
class DATA_BLOB(Structure):
_fields_ = [("cbData", DWORD), ("pbData", POINTER(c_char))]
def getData(blobOut):
cbData = int(blobOut.cbData)
pbData = blobOut.pbData
buffer = c_buffer(cbData)
memcpy(buffer, pbData, cbData)
LocalFree(pbData);
return buffer.raw
def Win32CryptProtectData(plainText, entropy):
bufferIn …Run Code Online (Sandbox Code Playgroud) 我已经将最新版本的YSlow和Firebug安装到Windows 7上的最新版本的Firefox中(并重新启动了Firefox),但是当我点击YSlow时没有任何反应.此外,当我点击Firebug时,它会打开,但没有YSlow选项卡.我已禁用所有其他Firefox插件并右键单击YSlow并单击运行一次并自动运行.
我究竟做错了什么?
是否有一个开源库,用于使用智能卡读卡器从智能卡中写入和读取C#中的数据?我的智能卡型号是mifare1k我的读者ucr122u.
我使用InstallUtil来安装我的服务,我只是无法弄清楚如何为它指定启动参数!
这是我的Installer子类:
[RunInstaller(true)]
public class ServerHostInstaller : Installer
{
private ServiceInstaller m_serviceInstaller;
private ServiceProcessInstaller m_serviceProcessInstaller;
private static string s_usage = "Usage:\ninstallutil /i /username=<user_name> /password=<user_password> NCStub.Server.Host.exe";
public ServerHostInstaller()
{
m_serviceInstaller = new ServiceInstaller();
m_serviceInstaller.ServiceName = Program.ServiceName;
m_serviceInstaller.DisplayName = Program.ServiceName;
m_serviceInstaller.StartType = ServiceStartMode.Automatic;
m_serviceProcessInstaller = new ServiceProcessInstaller();
m_serviceProcessInstaller.Account = ServiceAccount.User;
Installers.Add(m_serviceInstaller);
Installers.Add(m_serviceProcessInstaller);
}
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
string userName = this.Context.Parameters["username"];
if (userName == null)
{
Console.WriteLine(s_usage);
throw new InstallException("Missing parameter 'username'");
}
string userPass = this.Context.Parameters["password"];
if (userPass …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序并试图将Facebook行为用于AJAX请求.在Facebook中,您可以在触发AJAX请求的图标旁边获得一个很好的加载图像.嗯,如果页面中有1-2个元素,那么实现起来非常简单.
我想让它变得通用,并希望每当任何元素触发AJAX请求时,我想在它旁边显示一个小GIF.为此,我认为jQuery的AjaxSend事件已经足够好了,但是它没有给我一个触发AJAX调用的对象的句柄.我想知道是否可以通过jQuery的某些方法知道哪个元素触发了AJAX调用,并且在AJAX调用完成时也获得相同的句柄.
如果您觉得我对问题的解决方法不正确,我很乐意听取您的建议.
我们的要求是将EBCDIC文本发送到大型机.我们有一些中文字符,因此UTF8格式.那么,有没有办法将UTF-8字符转换为EBCDIC?
谢谢,Raj Mohan
如何在ClickOnce中重命名安装文件,从setup.exe重命名为myapp.exe?
更新:经过另一天深入研究这个问题后,我发现当前的jQuery模板库没有办法做到这一点.本文 介绍了一种很好的方法.
我仍然希望听到关于这样做的任何其他想法.上面链接的文章要求将返回的模板字符串插入DOM.似乎将DOM排除在外是理想的,并且浏览器的开销更少.想象一个大页面,其中包含多个可能无法使用的复合模板.虽然,也许是因为模板包装在脚本标签中,每个模板只有一个DOM项目?来吧,让我们听一些想法......
使用jQuery模板库,将多个相关的相对较小的模板组合在一起的最佳方法是什么?<script>每个模板需要一个标签吗?在通过AJAX动态提取这些模板的情况下呢?我能以某种方式组合这些模板吗?
考虑以下:
<script id="movieTemplate" type="text/x-jquery-tmpl">
{{tmpl "#titleTemplate"}}
<tr class="detail"><td>Director: ${Director}</td></tr>
</script>
<script id="titleTemplate" type="text/x-jquery-tmpl">
<tr class="title"><td>${Name}</td></tr>
</script>
Run Code Online (Sandbox Code Playgroud)
现在因为这两个模板非常密切相关(一个取决于另一个),将它们合并到一个AJAX调用中是有意义的,并立即同时获取它们.我有一些想法,但我想知道是否有共同/最好的方法来做到这一点?目前我拉入一大块HTML,然后执行.find()来获取模板的HTML特定值......例如:
var templatePackage = fancyAjaxCalltoGetTemplates();
Run Code Online (Sandbox Code Playgroud)
"templatePackage"可能看起来像这样:
<div id="templatePkg">
<div id="movieTemplate">
{{tmpl "#titleTemplate"}}
<tr class="detail"><td>Director: ${Director}</td></tr>
</div>
<div id="titleTemplate">
<tr class="title"><td>${Name}</td></tr>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
然后我可以这样做:
var titleTemplate = jQuery.template('titleTemplate', $(templatePackage).find('#titleTemplate') );
Run Code Online (Sandbox Code Playgroud)
和
var movieTemplate = jQuery.template('movieTemplate', $(templatePackage).find('#movieTemplate') );
Run Code Online (Sandbox Code Playgroud)
...让我知道你的想法...你会做什么?
****C newbie alert****如何编译C应用程序以使其在Windows上不显示控制台窗口的情况下运行?我正在使用Windows XP和GCC 3.4.5(mingw-vista special r3).我已经详尽地搜索了这个,我已经提出了以下内容,根据我所读到的内容,听起来应该是这样做的,但不在我的系统上:
#include <windows.h>
#include <stdlib.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
system("start notepad.exe");
}
Run Code Online (Sandbox Code Playgroud)
我也尝试将"-mwindows"参数传递给GCC无济于事.代码示例启动记事本但仍然闪烁命令提示符.
编辑:FWIW我也试过ShellExecute作为system()的alernative,虽然我很乐意甚至得到一个空的main()或WinMain()工作的应用程序.
我注意到django-storages(或者也许是Django的存储API本身)会覆盖同名文件.这对我来说是个问题,因为我的网站允许用户上传,所以我需要确保永远不会覆盖文件.
理想情况下,我希望能够从视图级别将文件名传递给存储后端,但我很难找到一种优雅的方法来执行此操作.我会同样高兴,如果有一个开关,我可以做一些类似的事情,overwrite=False并让后端提出自己的替代名称.
c# ×2
jquery ×2
python ×2
windows ×2
.net ×1
ajax ×1
amazon-s3 ×1
c ×1
clickonce ×1
console ×1
django ×1
dpapi ×1
ebcdic ×1
encryption ×1
file-upload ×1
firebug ×1
firefox ×1
gcc ×1
installutil ×1
java ×1
javascript ×1
mifare ×1
rfid ×1
security ×1
smartcard ×1
templates ×1
unicode ×1
utf-8 ×1
yslow ×1