一个项目遇到了一个可能需要使用Python调用C#的DLL文件的需求,就查找了一下资料。自己尝试了一下。
我的Experts.dll文件中,有个Security类,类中有个AESEncrypt方法,可以对字符串进行加密。现在就来调用这个方法进行测试。
首先在Pycharm中,一开始安装clr,结果不行,接着根据第二篇文章中所述,安装pythonnet库。
安装过程如下:在Pycharm的File菜单中,找到settings,project interpreter,打开如图1所示的窗口。选择右上方的“+”,打开如图2所示界面。
图1 settings界面
图2 安装pythonnet
安装图2所示步骤,进行安装即可。或者在cmd中使用pip命令进行安装。命令如下:
pip install pythonnet
import clrclr.AddReference('Experts') #添加dll文件引用from Experts import * #导入改Dll文件中d额所示方法password = "123456"; #定义加密密钥message = Security.AESEncrypt("python", password); #调用加密方法print(message) #打印加密j结果
运行结果如图3所示。
图3 运行结果
至此,调用成功。记录下留待查询使用。