- 博客(204)
- 资源 (6)
- 收藏
- 关注
原创 Android apk多渠道打包工具,支持V1和V2签名的apk,不破坏原有签名
该部分内容除了用来进行打渠道包以外,还可以用来给apk进行二次签名,只是写入的渠道信息变成二次签名信息而已。本文只是讲解具体的实现思路,不会进行详细的分析,因为网上关于V1和V2签名的文章太多了,这里不赘述了。V1签名的apk已经有很多人写过分析了,主要是对META-INF目录进行操作,因为V1签名的apk除了该目录外,别的文件都是被保护的,只要进行了修改,那么就会破坏原有签名,所以对于V1签名的apk主要是在META-INF目录下写入渠道信息,这里简单的创建一个新文件,渠道名称为文件名..
2020-09-27 14:15:52 3391 1
原创 自定义过滤器实现对请求报文统一解密对响应加密
前端在请求头里增加特定字段表示是前端请求,报文是否需要加密,后端自定义过滤器获取请求时根据请求头判断,如果是前端请求并且需要加密,则走加密流程,如果不是前端请求且不需要加密,则直接走正常流程即可。工作中经常会遇到这样的情况,前端(Android或vue等)跟后台通讯时需要对报文做加密和签名处理,但是后端微服务之间调用是明文,这种情况可以考虑通过自定义过滤器的方式实现。接下来是前端通过拦截器的方式对请求和响应进行统一处理。通过工厂方法获取OkhttpClient。创建HttpUtils对象。
2024-03-06 21:53:09 343
原创 Android端RSA加密,服务端无法解密的一个坑
RSA 算法规定:待加密的字节数不能超过密钥的长度值除以 8 再减去 11(即:KeySize / 8 - 11),而加密后得到密文的字节数,正好是密钥的长度值除以 8(即:KeySize / 8)。在实际工作中,Android端和后端进行RSA报文加密操作时,发现密钥正确的情况下,Android端加密的数据,后端死活不能解密,最后发现是RSA操作的填充方式不对。android系统的RSA实现是"RSA/None/NoPadding",RSA的填充问题解决之后,还需要注意数据长度要求,
2024-03-05 19:34:02 372
原创 SpringBoot通过HttpClient的form-data传参
适用于post请求并传送form-data数据(同样适用于Raw类型的application-json格式)httpClient模仿Postman的form-data格式。
2024-02-29 21:43:08 1664
转载 自动注入feign接口项目无法启动
,如果引用多个api,可用逗号进行分割,例如 @EnableFeignClients(basePackages = {"com.aaa.sms.api", "com.aaa.ums.api"}) ,相似地址可简写为 @EnableFeignClients(basePackages = "com.aaa.*.api")另外需要注意的是,当在启动类上添加@ComponentScan注解时,@SpringBootApplication中的@ComponentScan就会失效。,此时需要在启动类上添加注解指明。
2024-02-27 22:00:55 278
转载 @Autowired和@Resource到底有什么区别
Autowired 和 @Resource 来自不同的“父类”,其中 @Autowired 是 Spring 定义的注解,而 @Resource 是 Java 定义的注解,它来自于 JSR-250(Java 250 规范提案)。依赖注入的功能,是通过先在 Spring IoC 容器中查找对象,再将对象注入引入到当前类中。4、依赖注入的用法支持不同:@Autowired 既支持构造方法注入,又支持属性注入和 Setter 注入,而 @Resource 只支持属性注入和 Setter 注入;
2024-02-27 21:57:44 299
转载 Spring的FactoryBean和BeanFactory区别
从名字上就能看出来个一二,BeanFactory 是 Factory 而 FactoryBean 是一个 Bean,我们先来看下总结:BeanFactory 是 Spring 框架的核心接口之一,用于管理和获取应用程序中的 Bean 实例。它是一个工厂模式的实现,负责创建、配置和管理 Bean 对象。BeanFactory 是 Spring IoC 容器的基础,它可以从配置元数据(如 XML 文件)中读取 Bean 的定义,并在需要时实例化和提供这些 Bean。
2024-02-25 21:03:06 71
原创 RecycleView结合ItemTouchHelper实现拖动排序
最近项目中需要实现对某一类条目进行拖动排序功能,实现技术方案就是利用ItemTouchHelper绑定RecyclerView、ItemTouchHelper.Callback来实现UI更新,并且实现动态控制是否开启拖动功能。其中,ItemTouchHelper是Google在androidx包中添加的,其于RecyclerView配合可以比较容易地实现这个功能。3、初始化RecycleView,并绑定ItemTouchHelper。2、实现ItemTouchHelper.Callback。
2024-02-22 20:57:11 767
原创 Android使用shape定义带渐变色的背景
渐变角度,仅用于线性渐变。必须是[0-315]范围内45的倍数。在drawable目录下创建文件bg_gradient.xml。type : linear 直线。angle 180 从右往左。angle 270 从上往下。angle: 0 从左到右。angle 90 从下往上。angle表示渐变角度。
2024-02-19 20:01:05 730
原创 SpringCloud微服务调用丢失请求头
HystrixConcurrencyStrategy 是提供给开发者去自定义hystrix内部线程池及其队列,还提供了包装callable的方法,以及传递上下文变量的方法。所以可以继承了HystrixConcurrencyStrategy,用来实现了自己的并发策略。
2024-02-19 19:59:41 737
原创 AndroidStudio升级到2022.3.1 Giraffe之后,JDK使用17出现module java.base does not “opens java.io“ to unnamed mod
module java.base does not “opens java.io“ to unnamed mod
2023-09-05 16:58:22 3140 1
原创 解决打印org.apache.http.wire,org.apache.http.headers日志的问题
解决org.apache.http.wire日志问题
2023-09-05 15:12:29 1929
原创 SpringBoot解决跨域问题的几种方式
跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。但这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用,也带来的阻碍,那怎么解决这个问题呢?接下来我们一起来看。跨域三种情况在请求时,如果出现了以下情况中的任意一种,那么它就是跨域请求:1、协议不同,如 http 和 https;2、域名不同;3、端口不同。也就是说,。常见的跨域问题如下图所示:跨域问题演示。
2023-07-21 22:56:05 141
原创 SM4、AES,RSA,DES等加解密,以及一些其他常用工具方法整理
该CommonUtils为后台使用,主要是将PKCS#8转成PKCS#1,将x509格式证书转换为ASN1格式。工作中接触到了SM4,AES,RSA等算法的加解密,这里整理下来,以备后续其他地方需要使用到。CertUtils用于证书链的校验,主要校验上下级的签名和有效期,没有校验签发者信息。MacUtils主要是计算mac算法的工具类,该mac算法是银联标准的mac计算方式。Base64Utils为使用到的Base64的encode和decode方法。DesUtils主要是后台使用的3DES算法工具类。
2023-06-30 10:59:07 1102
原创 maven测试依赖的排除
当 A 依赖 B,B 依赖 C 而且 C 可以传递到 A 的时候,A 不想要 C,需要在 A 里面把 C 排除掉。而往往这种情况都是为了避免 jar 包之间的冲突。所以配置依赖的排除其实就是阻止某些 jar 包的传递。因为这样的 jar 包传递过来会和其他 jar 包冲突。测试的方式:在 pro02-maven-web 工程中配置对 commons-logging 的排除。发现在 spring-core 下面就没有 commons-logging 了。
2023-06-20 18:28:57 811
原创 maven测试依赖传递性
从上面的例子已经能够看到,pro01-maven-java 依赖了 junit,但是在 pro02-maven-web 工程中查看依赖树的时候并没有看到 junit。要验证 provided 范围不能传递,可以在 pro01-maven-java 工程中加入 servlet-api 的依赖。在 A 依赖 B,B 依赖 C 的前提下,C 是否能够传递到 A,取决于 B 依赖 C 时使用的依赖范围。A 依赖 B,B 依赖 C,那么在 A 没有配置对 C 的依赖的情况下,A 里面能不能直接使用 C?
2023-06-20 16:55:50 855
dex反编译工具包,支持AndoridN以上
2020-09-28
Android多渠道打包工具,支持V1和V2签名的apk
2020-09-28
MySlideRecyclerView.java
2020-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人