Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Python µ÷ÓÃCAPICOM ¶ÁÈ¡ USB KEYÊý×ÖÖ¤Êé

import win32com.client
store = win32com.client.Dispatch('CAPICOM.Store')
# ´ò¿ªÖ¤Êé´æ´¢Çø
# 2 -> CAPICOM_CURRENT_USER_STORE
# 0 -> CAPICOM_STORE_OPEN_READ_ONLY
store.Open(2, "My", 0)
# ²éÕÒÓÐЧ֤Êé
# 12 -> CAPICOM_CERTIFICATE_FIND_KEY_USAGE
# 0x00000080 -> CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE
# 9 -> CAPICOM_CERTIFICATE_FIND_TIME_VALID
# 6,6 -> CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY,CERT_KEY_SPEC_PROP_ID
stores = store.Certificates.Find(12,0x00000080).Find(9).Find(6,6)
stores = store.Certificates.Find(0,szThumbprint) # szThumbprint -> °´ËõÂÔͼ²éѯ
# 0 -> CAPICOM_CERTIFICATE_FIND_SHA1_HASH
# ÕÒµ½Ö¤Ê鼯Êý
stores.Count
# »ñȡ֤ÊéÐÅÏ¢
for data in stores:
    data.GetInfo(0) # °ä·¢¸ø
    data.GetInfo(1) # °ä·¢Õß
    data.GetInfo(2) # Ö÷Ìâ(E) Email
    data.GetInfo(3) # ''
    data.GetInfo(4) # Ö÷ÒªÃû³Æ= RFC822 Name=
    data.GetInfo(5) # ''
    data.GetInfo(6) # Ö÷Ìâ(CN)
    data.GetInfo(7) # °ä·¢Õß
    data.Thumbprint # ËõÂÔͼ
»òÕß
stores.Item(idx).GetInfo(idx2) # idx 1-stores.Count
# idx2 0-7
# Ö¤ÊéÑ¡Ôñ
selCert = soters.Select()
selCert.GetInfo(0-7)
selCert.Thumbprint
# Êý¾ÝÇ©Ãû
SignedData = win32com.client.Dispatch('CAPICOM.SignedData')
Signer = win32com.client.Dispatch('CAPICOM.Signer')
TimeAttribute = win32com.client.Dispatch('CAPICOM.Attribute')
SignedData.Content = 'Test' # Ç©ÃûÄÚÈÝ
Signer.Certificate = ret.Item(1) # Ñ¡ÔñµÄÖ¤Êé
TimeAttribute.Name = 0 # 0 -> CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME
import datetime
TimeAttribute.Value = datetime.datetime('2010-04-22')
Signer.AuthenticatedAttributes.Add(TimeAttribute)
szSignature = SignedData.Sign(Signer, True, 0) # 0 -> CAPICOM_ENCODE_BASE64
# Ç©ÃûУÑé
SignedData.Content='Test';
SignedData.Verify(szSignature, true, 1); # 1 -> CAPICOM_VERIFY_SIGNATURE_AND_CERTIFIC


Ïà¹ØÎĵµ£º

PythonÓëMicrosoft Office×Ô¶¯»¯²Ù×÷

http://www.cnblogs.com/Jedimaster/archive/2007/02/28/660209.html
¡¡¡¡ÅóÓѵļÒÈË×öÉúÒ⣬ÿÈÕ´Ó¸÷µØ·Öµê´¦ÊÕ¼¯±¨±í£¬È»ºó»ØÈ¥»ã×Ü¡£ÓÉÓÚ²»ÏëÓÃÄÇÖÖ¸´ÔӵĹÜÀíÈí¼þ£¬¾Í½ÐËûдһ¸öС¹¤¾ß¡£ÓÚÊÇËûÕÒµ½ÁËÎÒ£¬ÈÃÎÒÏëÏë°ì·¨¡£
¡¡¡¡PythonÊǸöÁîÈ˾ªÆæµÄ¹¤¾ß£¬¶ø²»½ö½öÊÇÒ»ÖÖÓïÑÔ¡£¶Ô±ÈÀÏÅÆµÄPerl£¬¿´ËÆPython²»ÊÇÄÇôµÄ¾«Í¨ ......

python timeÄ£¿éÏê½â

 python µÄÄÚǶtimeÄ£°å·­Ò뼰˵Ã÷
 
Ò»¡¢¼ò½é
  timeÄ£¿éÌṩ¸÷ÖÖ²Ù×÷ʱ¼äµÄº¯Êý
  ˵Ã÷£ºÒ»°ãÓÐÁ½ÖÖ±íʾʱ¼äµÄ·½Ê½:
       µÚÒ»ÖÖÊÇʱ¼ä´ÁµÄ·½Ê½(Ïà¶ÔÓÚ1970.1.1 00:00:00ÒÔÃë¼ÆËãµÄÆ«ÒÆÁ¿),ʱ¼ä´ÁÊÇΩһµÄ
       µÚ¶þÖÖÒÔÊý× ......

¶¯Ì¬´ó±ÈÆ´Python¡¢LuaºÍRuby


ÀµÓºÆ(http://blog.csdn.net/lanphaday) Òë
ÒëÕß°´£ºPython¡¢luaºÍrubyÔÚC/C++ÊÇÈÕ½¥Ê½Î¢µÄÇé¿öÏ£¬ÔÚjava/.netµÄΧ¼ßÖÐŬÁ¦¿¹ÕùµÄÈý¸öµ±ºìСÉú¡£ÔÚTom GutschmidtµÄÖø×÷¡¶Game Programmng with Python, Lua and Ruby¡·Ò»ÊéÖУ¬½éÉÜÁËÈýÖÖÓïÑÔÔÚÓÎÏ·ÖеÄÓ¦Óã¬ÆäÖÐÓÈΪÁ˲»ÆðµÄÊÇÔÚÊéÖÐ×îºóÒ»ÕÂÖбȽÏÁËÈýÖֽű¾£¬×÷Õßà ......

Python ¿ªÆª

ÓÉÓÚ¹¤×÷ÐèÒª£¬ÓÖҪѧϰеĿª·¢ÓïÑÔ-Python£¬ ÓïÑÔѧ¹ý¼¸ÖÖÁË£¬ ¸Ð¾õ»¹ÊÇÓкöàÏàËÆµÄµØ·½£¬ Õâ¸öPython¸Ð¾õ¾Í¸úJavaÓкöàÏàͨµÄµØ·½£¬ Ê×ÏÈÄã¿ÉÒÔÔÚEclipseÉÏͨ¹ýÅäÖúóÀ´¿ª·¢Python¡£ÕâÀïÎÒÌý´ÓÁËÀÏ´óµÄ½¨Ò飬ÅäÖÃÁËÒ»¸öFlexBuilder ×÷ΪPythonµÄIDE½øÐпª·¢¡£
Ŀǰ¸Õ¿ªÊ¼Ñ§Ï°PythonµÄ»ù±¾Óï·¨£¬ ½ñÌìÖ÷Òª¿´ÁËÒ»ÏÂPyth ......

ÓÃpythonʵÏÖcrc32Çó×Ö·û´®Ð£ÑéÂë


תÌû£º
http://blog.csdn.net/wyingquan/archive/2008/12/20/3561094.aspx
ÓÃpython×Ô´øµÄbinasciiÄ£¿é¼ÆËã×Ö·û´®µÄУÑéÂ룬³öÀ´µÄÊǸºÖµ£¬ÓëÓÃcдµÄ³ÌÐòµÃ³öµÄУÑéÂë²»Ò»Ñù£¬ËùÒÔ¾ÍÑо¿ÁËһϡ£·¢ÏÖ±ðÈËÓõÄpython3.0°æ±¾binasciiÄ£¿é¼ÆËã³öµÄcrc32УÑéÂëÊÇÎÒÏëÒªµÄ£¬Ã»°ì·¨Ö»ºÃ×Ô¼ºÓÃpythonʵÏÖÒ»ÏÂcrc32µÄËã·¨ÁË¡£·¢ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ