UTM安装Windows(适用于M1芯片的Mac)

本文介绍了如何在配备Arm架构M1芯片的Mac电脑上通过UTM虚拟机软件安装Windows7。步骤包括下载UTM和Windows7安装准备程序,准备ISO镜像,设置内存和核心数,然后启动安装过程,按照提示进行操作。

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

在Arm架构的M1芯片的mac上安装Windows7,步骤如下:

1.在UTM官网下载UTM.dmg,下载完后将其拖进应用程序,然后打开UTM。

2.下载windows7安装准备程序,下载地址:

Windows 7 | UTM

 点击下载即可下载windows7安装准备程序,下载完毕后双击打开即可在UTM界面生成安装准备选项。

3.准备windows7的iso镜像,在这里推荐一个网站下载此镜像,当然该网站还有其他操作系统和软件可以下载,建议使用迅雷下载,因为速度很快。下载地址:

Windows 7 简体中文 ISO镜像下载 - 我的MSDN

我下载的是X86_64位的专业版

4.在UTM界面,首先选择iso镜像,选择你下载的iso镜像的地址,然后点击右上角的设置按钮,选择“系统”选项,在系统选项里设置内存大小为4096M(可以将根据自己的计算机配置自行设置,但最低请设置为4096M),核心数设置为2(最低)

5.然后点击UTM界面的播放按钮进行安装

6.接下来就会自行进行安装进程,出现如下字样时立刻(1秒内)按下任意键(空格键),然后进行如下操作:

 


​​​​​​​

 

 

 

 

这样就安装成功了

### 前后端 AES 加密解密实现方法 #### 使用场景描述 为了保障数据传输的安全性,在前端发送敏感信息到服务器之前,可以采用AES对称加密算法对其进行加密处理。而后端接收到该请求之后再利用相同的密钥进行解密操作。 #### 密钥管理 确保前后端使用的AES秘钥一致非常重要。通常情况下,这个秘钥应该被安全地存储起来,并且只在必要的时候用于加解密过程[^1]。 #### 前端 JavaScript (Vue.js) 实现 ##### 引入 CryptoJS 库 首先需要引入 `crypto-js` 这个库来帮助完成AES的加密工作。可以通过CDN或者npm安装的方式获取它: 通过 npm 安装: ```bash npm install crypto-js ``` ##### 编码函数定义 下面是一个简单的编码例子,这里采用了CBC模式并指定了填充方式PKCS7Padding: ```javascript import CryptoJS from 'crypto-js'; function encryptByAES(message, keyStr) { const key = CryptoJS.enc.Utf8.parse(keyStr); const iv = CryptoJS.enc.Utf8.parse('0102030405060708'); // 初始化向量IV可自定义 let encrypted = CryptoJS.AES.encrypt( message, key, {iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7} ); return encrypted.toString(); } // 测试用法 let secretMessage = "This is a secret"; let encryptionKey = "Secret Key 123"; // 需要与后端保持一致 console.log(encryptByAES(secretMessage ,encryptionKey)); ``` #### 后端 Java 实现 对于Java来说,则需要用到JCE(Java Cryptography Extension)。以下是基于相同参数设置的一个简单示例: ```java import javax.crypto.*; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; public class AesUtil { private static final String ALGORITHM = "AES/CBC/PKCS5PADDING"; public static byte[] decrypt(byte[] content, String password) throws Exception{ SecretKeySpec key = new SecretKeySpec(password.getBytes(), "AES"); Cipher cipher = Cipher.getInstance(ALGORITHM); IvParameterSpec ivspec = new IvParameterSpec("0102030405060708".getBytes()); cipher.init(Cipher.DECRYPT_MODE, key, ivspec); return cipher.doFinal(content); } public static void main(String args[])throws Exception{ String originalString = "encrypted string here..."; System.out.println(new String(decrypt(Base64.getDecoder().decode(originalString), "Secret Key 123"))); } } ``` 以上展示了如何从前端 Vue.js 到后端 Java 的整个流程中实施AES加密和解密的过程。需要注意的是实际项目开发过程中还需要考虑更多细节比如异常捕获、日志记录以及安全性等方面的优化措施[^3].
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值