VS FoxPro编码的类型

时间:2015-02-06 15:26:39

标签: encoding visual-foxpro foxpro

我正在尝试解码DBF中的一些字符串(由Foxpro应用程序创建),我对FoxPro的编码/加密方法感兴趣。

这是一个示例编码字符串:“òÙÛÚÓ½kê3ù[ƒ〜øžÃ+™Þoa-Kh-Gó¯ý”“|øHñyäEük@‰fç9æ×ϯyi±:”

有人可以告诉我这个字符串的编码方法,或者给我任何关于Foxpro编码方法的建议?

谢谢!

2 个答案:

答案 0 :(得分:0)

这取决于FoxPro版本,这里记录了最新的DBF结构(VFP 9): https://msdn.microsoft.com/en-us/library/aa975386%28v=vs.71%29.aspx

答案 1 :(得分:0)

看起来您的文本可能是“_Crypt.vcx”的结果,它将获取给定的字符串,应用任何密码短语并生成输出加密字符串。

VFP有一个类在“FFC”文件夹中可用,其中VFP是默认安装的(通过HOME()路径,例如

C:\PROGRAM FILES (X86)\MICROSOFT VISUAL FOXPRO 9\

这是一组SAMPLE代码,用于连接_Crypt类和示例以加密字符串,然后解密加密的字符串。你的字符串看起来是加密的(显然),但除非你知道更多的加密(例如找到密码/密钥,你可能会有点卡住并进行更多的研究)......

lcCryptLib = HOME() + "FFC\_Crypt.vcx"
IF NOT FILE( lcCryptLib )
    MESSAGEBOX( "No crypt class library." )
    RETURN 
ENDIF 
SET CLASSLIB TO ( lcCryptLib ) ADDITIVE 

oCrypt = CREATEOBJECT( "_CryptAPI" )
oCrypt.AddProperty( "myPassKey" )
oCrypt.myPassKey = "Hold property to represent some special 'Key/pass phrase' "

*/ Place-holder to get encrypted value
lcEncryptedValue = ""
? oCrypt.EncryptSessionStreamString( "Original String", oCrypt.myPassKey, @lcEncryptedValue )

*/ Show results of encrypted value
? "Encrypted Value: " + lcEncryptedValue 

*/ Now, to get the decrypted from the encrypted...
lcDecryptedValue = ""
? oCrypt.DecryptSessionStreamString( lcEncryptedValue, oCrypt.myPassKey, @lcDecryptedValue )

? "Decrypted Value: " + lcDecryptedValue


*/ Now, try with your string to decrypt
lcYourString = [òÙÛÚÓ ½kê3ù[ƒ˜øžÃ+™Þoa-Kh— Gó¯ý""|øHñyäEük@‰fç9æ×ϯyi±:]
lcDecryptedValue = ""
? oCrypt.DecryptSessionStreamString( lcYourString, oCrypt.myPassKey, @lcDecryptedValue )

? "Decrypted Value: " + lcDecryptedValue