解决Base64解密报错Illegal base64 character 2e问题

解决Base64解密报错Illegal base64 character 2e问题

前几天公司小年轻调试代码,不知道改了什么导致APP登录时报这个错误Illegal base64 character 2e,网上搜了一下发现没有相关的异常解决方案,于是便想记录一下,为社区做做贡献。
报错的根源在于decode方法解析原加密串的时候,原加密内容不符合规范,比如存在过多的空格,不支持的字符,等等内容。
解决办法:
1.更换加密方式和解密方式分别为:Encoder encoder = Base64.getMimeEncoder();Decoder decoder = Base64.getMimeDecoder();
2.打断点打在加密执行前,查看被加密的字符串是否合规,就是是否存在上面那些内容,手动删除那些空格和字符,试试是否能解密成功。

### Linux Cronjob 配置解析 Cron 是一种用于在指定时间自动执行任务的守护进程工具,在 Linux 和 Unix 系统中广泛使用。以下是关于 `@reboot` 和 `* * * * *` 的含义以及 `/usr/bin/cronjob_bandit23.sh` 脚本执行方式的具体分析。 #### 1. **Cronjob 配置中的特殊字符串** - **`@reboot`**: 此关键字表示当系统启动时只运行一次的任务。它通常被用来设置开机自启的任务,适用于那些只需要在系统初始化阶段运行一次的操作[^1]。 - **`* * * * *`**: 这是一个标准的时间字段定义格式,分别代表分钟、小时、日期、月份和星期几。如果所有位置都填入星号 (`*`),则意味着每分钟都会触发该任务。因此,“`* * * * *`”可以理解为每隔一分钟就执行一次相应的指令或脚本[^2]。 #### 2. **/usr/bin/cronjob_bandit23.sh 脚本功能详解** 从给定的信息来看,这个 Bash Shell Script 主要完成以下几个操作: ```bash #!/bin/bash myname=$(whoami) mytarget=$(echo I am user $myname | md5sum | cut -d ' ' -f 1) echo "Copying passwordfile /etc/bandit_pass/$myname to /tmp/$mytarget" cat /etc/bandit_pass/$myname > /tmp/$mytarget ``` - 获取当前用户名(`$(whoami)`), 并将其赋值给变量 `$myname`. - 使用字符串 “I am user [username]” 计算 MD5 值,并截取前半部分作为目标路径名存储到 `$mytarget` 中. - 打印一条消息表明正将密码文件复制至临时目录下特定名称的位置. - 实际上把原始用户的密码内容写入到了一个新的文件里位于 `/tmp/[md5hashvalue]`. 这种做法可能是为了安全考虑或者测试目的而设计的一种机制来动态生成并转移敏感数据副本[^3]. #### 结论 综上所述,Cron Job 可以通过不同的设定满足多种需求场景,无论是固定周期性的重复作业还是仅需一次性处理的情况都能妥善应对;同时配合精心编写的Shell Scripts能够实现复杂业务流程自动化管理. ```python # 示例 Python 定义函数模拟上述 bash 功能 (仅为演示用途) def generate_target(username): import hashlib message = f"I am user {username}" hash_object = hashlib.md5(message.encode()) hex_dig = hash_object.hexdigest() return hex_dig.split()[0] print(generate_target('test_user')) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值