如何在py文件中“隐藏”诅咒词?

2024-04-25 15:12:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一名学校教师,整个暑假都在用python编写一个词汇训练程序,使用wikipedia和gutenberg提供的文本。现在我要做的就是想办法过滤掉咒语,这样我就可以分发给学生了。在

通常我只需要一个诅咒词的数组(列表),然后做一个简单的过滤器。但问题是py文件本身是可以打开的,这些学生看到这些单词。如果我把它放在一个单独的文件中,以某种方式加密,那么他们就可以删除这个文件,输出不会被过滤。在

有什么解决办法吗?在


Tags: 文件py文本程序过滤器列表教师数组
3条回答

在你的分布式文件中包含这些单词,但是以某种方式对它们进行加密,这样就不可能轻易地找到明文列表。然后,使用py2exe将脚本编译为.exe。这将阻止大多数学生逆向工程程序和寻找加密算法。在

如果学生发现了解密例程,那么它是否是强加密并不重要,因此rot13或{}就足够了。在

(w.decode('rot13') for w in ['sbeovqqra', 'sbeovqqra gbb', 'rira zber sbeovqqra'])

要列出列表,只需在实际单词上使用encode。在

当然,正如上面建议的那样,散列也会起作用。在

你能做的就是把你想搜索的词散列出来。这使得过滤有点困难,因为您必须将输入分解成单词,散列每个单词,然后查看是否有匹配的哈希值。在

查看md5()的文档

你的源代码将只包含散列单词,并且无法将其转换为单词列表(但是,更有创造力的学生可能会有一些正确的猜测!)在

如果所有学生都在运行同一版本的Python(例如在计算机实验室),那么可以分发pyc文件。这只是混淆,但它会阻止临时用户。在

相关问题 更多 >