from Crypto.Util.number import * ImportError: No module named Crypto.Util.number

博客记录了Python运行时出现 'ImportError: No module named Crypto.Util.number' 的问题,原因是第三方包安装有误。通过卸载 'crypto' 和 'pycryptodome',再重新安装 'pycryptodome' 解决问题,重新执行程序后恢复正常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from Crypto.Util.number import *
import gmpy2

c = 122899291469021470029549130291481574095771255674082966638
n = 4290418064651218965804214795113724709341221467051724424273
e = 65537
factors = [14574373685302455767, 17136129397262704181, 17178964373573894299]
phi = 1
for x in factors:
    phi *= (x-1)
d = gmpy2.invert(e, phi)
print long_to_bytes(pow(c, d, n))

PS C:\Users\kai> & python c:/Users/kai/Desktop/py/py/多因数.py
Traceback (most recent call last):
  File "c:/Users/kai/Desktop/py/py/多因数.py", line 1, in <module>
    from Crypto.Util.number import *
ImportError: No module named Crypto.Util.number

当初安装为 pip install crypto导致该问题,第三包有问题需要重新安装

卸载: pip uninstall crypto pycryptodome

重新安装: pip install pycryptodome -i https://pypi.tuna.tsinghua.edu.cn/simple

重新执行后,恢复正常

PS C:\Users\kai> & python c:/Users/kai/Desktop/py/py/多因数.py
flag{n0t_RSA}
PS C:\Users\kai>

<think>我们正在处理用户关于OneDrive中Documents文件夹还原到本地默认位置时遇到的错误提示:“由于同一位置中存在不能重定向的文件夹,无法移动此文件夹。拒绝访问”。根据用户描述,问题出现在尝试将OneDrive中的Documents文件夹还原到Windows默认位置时。 分析问题: 1. 错误提示表明,目标位置(即Windows默认的Documents文件夹位置)已经存在一个“不能重定向的文件夹”,导致移动操作被拒绝。 2. 通常,这个错误是因为目标文件夹(C:\Users\<用户名>\Documents)已经被其他程序或系统锁定,或者该文件夹已经被重定向到其他位置(如OneDrive),但系统认为它仍然是一个特殊的文件夹,不能随意移动。 参考引用[1]中提到了使用`mklink`命令创建符号链接来同步OneDrive和本地文件夹。这提示我们,可能之前用户通过符号链接将本地文件夹指向了OneDrive,而现在需要解除这种链接关系。 可能的解决方案步骤: 步骤1:检查当前文件夹状态 - 打开文件资源管理器,导航到`C:\Users\<用户名>\Documents`(将`<用户名>`替换为实际用户名)。 - 查看该文件夹的属性,特别是“位置”选项卡(如果是默认位置,则可能没有该选项卡;如果有重定向,则会有“位置”选项卡并显示目标位置)。 - 如果该文件夹已经被重定向到OneDrive,那么我们需要先解除重定向。 步骤2:解除文件夹重定向 - 如果Documents文件夹已经被重定向到OneDrive,我们可以尝试通过系统设置将其还原。 - 打开“设置”->“系统”->“存储”->“更多存储设置”下的“更改新内容的保存位置”,查看文档的保存位置是否被设置为OneDrive。如果是,将其改为本地磁盘(例如C盘)的默认位置。 - 或者,通过右键单击“文档”文件夹,选择“属性”,在“位置”选项卡中点击“还原默认值”或“移动”到默认位置(C:\Users\<用户名>\Documents)。 步骤3:处理符号链接(如果存在) - 如果之前使用过`mklink`创建了符号链接,那么我们需要删除这个符号链接,并将实际的文件夹内容移回默认位置。 - 注意:删除符号链接不会删除源文件夹的内容,但需要确保源文件夹(OneDrive中的Documents)的内容被复制到本地默认位置。 - 操作步骤: a. 删除符号链接:在命令提示符(以管理员身份运行)中,输入以下命令(假设符号链接在C:\Users\<用户名>\Documents,指向OneDrive中的某个文件夹): ```cmd rmdir "C:\Users\<用户名>\Documents" ``` 注意:使用`rmdir`删除符号链接时,不会删除源文件夹的内容。 b. 然后,将OneDrive中的Documents文件夹的内容复制到本地默认位置(C:\Users\<用户名>\Documents)。 c. 确保OneDrive设置中不再将Documents文件夹设置为同步(或者取消链接该文件夹的同步)。 步骤4:修改OneDrive设置 - 打开OneDrive设置,在“账户”选项卡中,点击“选择文件夹”来管理同步的文件夹。确保Documents文件夹没有被选中同步(即取消勾选)。这样OneDrive就不会再尝试同步该文件夹。 步骤5:重置文件夹权限 - 有时拒绝访问错误可能是由于权限问题。我们可以尝试获取文件夹的所有权并重置权限。 - 右键单击目标文件夹(C:\Users\<用户名>\Documents)->“属性”->“安全”选项卡->“高级”。 - 点击“更改”所有者,设置为当前用户,并勾选“替换子容器和对象的所有者”。 - 应用后,再检查权限是否正常。 步骤6:重启资源管理器或计算机 - 完成上述操作后,重启文件资源管理器或整个计算机,然后再次尝试移动操作。 注意事项: - 在执行任何操作前,请确保备份重要数据,以防意外丢失。 - 如果用户之前使用过文件夹重定向(通过组策略或设置),可能需要先禁用这些重定向策略。 如果以上步骤不能解决问题,可能需要检查是否有其他程序(如第三方安全软件)锁定了该文件夹,或者使用系统文件检查器(sfc /scannow)修复系统文件。 根据引用[2]的内容,我们还可以考虑通过编程方式禁止文件保存到OneDrive,但用户当前的问题主要是还原文件夹位置,因此重点不在禁止保存,而是解除OneDrive的绑定并还原到本地。 生成相关问题: 1. 如何完全解除OneDrive与本地文件夹的同步? 2. 如何修复Windows文件夹权限问题? 3. 如何删除符号链接并恢复原始文件夹? 4. OneDrive同步文件夹时出现拒绝访问错误怎么办?</think>### 解决 OneDrive 文档文件夹还原错误的步骤 遇到“由于同一位置中存在不能重定向的文件夹,无法移动此文件夹。拒绝访问”错误时,通常是因为文件夹被锁定或存在权限冲突。以下是详细解决方案: --- ### 步骤 1:解除 OneDrive 同步绑定 1. **关闭文档文件夹同步** - 右击任务栏 OneDrive 图标 → 选择「设置」→「账户」→「选择文件夹」 - **取消勾选「文档」文件夹** → 点击「确定」 - 等待 OneDrive 完成同步解除(系统托盘图标停止旋转) 2. **检查文件夹所有权** - 按 `Win+R` 输入 `cmd` → 运行: ```cmd takeown /f "C:\Users\<用户名>\Documents" /r /d y icacls "C:\Users\<用户名>\Documents" /grant administrators:F /t ``` (将 `<用户名>` 替换为你的实际用户名) --- ### 步骤 2:清理残留重定向 1. **删除符号链接** - 以管理员身份打开命令提示符: ```cmd rmdir /s /q "C:\Users\<用户名>\Documents" ``` - **注意**:此操作仅删除链接,不会删除实际文件 2. **手动重建文档文件夹** - 在资源管理器地址栏输入: ``` shell:personal ``` - 系统会自动重建默认的 `Documents` 文件夹 --- ### 步骤 3:重置文件夹位置(关键步骤) 1. **修改注册表** - 按 `Win+R` 输入 `regedit` → 定位到: ``` HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders ``` - 双击 **Personal** 项 → 将值改为: ``` %USERPROFILE%\Documents ``` 2. **组策略重置(专业版适用)** - 按 `Win+R` 输入 `gpedit.msc` - 导航:`用户配置 → 管理模板 → 桌面` - 禁用 **禁止用户更改“我的文档”路径** 策略 --- ### 步骤 4:验证与恢复 1. **检查文件夹属性** - 右击新建的文档文件夹 → 属性 →「位置」选项卡 - 点击「还原默认值」→ 确认路径为 `C:\Users\<用户名>\Documents` 2. **重新链接 OneDrive(可选)** - 在 OneDrive 设置中重新勾选「文档」同步 - 选择 **「保持文件在此设备上」** 而非重定向 --- ### 预防措施 - 避免直接修改系统库文件夹路径,应通过设置 → 系统 → 存储 → 高级存储设置 → 保存新内容的位置 修改 - 定期清理 `%USERPROFILE%\AppData\Local\Microsoft\Windows\Shell` 中的缓存文件 - 使用 `mklink` 创建同步链接时,确保目标文件夹为空[^1] > **重要提示**:操作前务必备份数据!若问题持续,尝试新建 Windows 用户配置文件迁移数据。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值