微信支付- 本地正常,部署到windows server上签名失败

本文介绍了解决签名参数中包含中文导致的问题。通过将Windowsserver编码从默认设置更改为UTF-8来修复MD5签名错误。原代码使用默认编码生成MD5签名,经修改后采用指定UTF-8编码生成正确的签名。

原因之一:
签名参数中包含中文。windows server编码问题。
编码改成”UTF-8”就好了

原代码:

String hex = DigestUtils.md5DigestAsHex(str.getBytes());

修改后

String hex = DigestUtils.md5DigestAsHex(str.getBytes("UTF-8"));
### 微信小程序部署本地服务器的方法 #### 配置开发环境 为了使微信小程序能够在本地环境中运行并调试,需确保已安装必要的软件和服务。这包括但不限于Node.js、npm以及用于构建和打包项目的CLI工具。 对于微信小程序而言,在本地模拟器上测试前,应先通过官方提供的开发者工具创建项目,并关联相应的AppID[^2]。 #### 设置本地Web Server 通常情况下,会选用如Apache或Nginx这样的HTTP服务器来托管后端API接口。这里以Nginx为例: 1. 安装Nginx服务; 2. 修改`nginx.conf`配置文件中的server部分,指定监听端口及静态资源路径; ```bash server { listen 80; server_name localhost; location /api/ { proxy_pass http://your_backend_service_address/; } location /static/ { alias /path/to/static/files/; } } ``` 重启Nginx让更改生效。 #### 后端逻辑实现 假设采用Java作为后台编程语言,则可以利用Spring Boot框架快速搭建RESTful API。此时需要注意的是要开启CORS支持以便允许跨域请求来自不同源的小程序访问[^3]。 另外还需考虑数据库连接池设置等问题,比如借助Navicat这类图形化客户端管理MySQL实例[^4]。 #### 基础设施准备 即使是在本地环境下也建议遵循正式上线时的安全性和性能优化措施。例如启用HTTPS协议传输敏感信息,尽管自签名SSL证书仅限于内部测试用途。 #### 开发者工具配置 最后回到微信开发者工具内完成如下操作: - 输入合法有效的本地IP地址代替线上域名; - 如果涉及到支付等功能模块记得调整相应参数适应当前网络状况; - 利用真机扫码预览功能验证整个流程是否顺畅无误。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值