首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏一个会写诗的程序员的博客

    可逆加密解密 Java 代码实例

    org.apache.commons.codec.binary.Hex; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import java.security.Key ; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; public class CryptoUtil QAZ"; private static final String DEFAULT_SECRET_KEY2 = "1qaz2wsx3edc4rfv5tgb6yhn7ujm8ik,9ol.0p;/ QAZ2wsx#EDC4rfv%TGB6yhn&UJM8ik,(OL>0p;/"; private static final String DEFAULT_SECRET_KEY6 = "1qaz2wsx3edc4rfv5tgb base32.encodeAsString(obtainEncode(key, str.getBytes())).replaceAll("=", ""); } /** * 加密

    2.6K20发布于 2019-02-26
  • 来自专栏博客屋

    Java Base64加密与解密示例代码

    一、Java 8 基本 Base64 基本的加密尽量保持简单,加密输入字符串没有增加任何换行符。 .getDecoder().decode(encodedString); String decodedString = new String(decodedBytes); 二、Java 8 URL 加密 URL加密和上述基本加密类似,它使用URL和文件名安全Base64字母表(没有‘+’和‘/’,增加‘-’和‘_’),不添加任何换行隔,代码如下: String originalUrl = "https .getUrlDecoder().decode(encodedUrl); String decodedUrl = new String(decodedBytes); 三、Java 8 MIME(Multipurpose 中Base64加密和解密的基本用法,使用java 8 新引入的API。

    2.6K40编辑于 2023-02-06
  • 来自专栏博客屋

    Java Base64加密与解密示例代码

    一、Java 8 基本 Base64 基本的加密尽量保持简单,加密输入字符串没有增加任何换行符。 .getDecoder().decode(encodedString); String decodedString = new String(decodedBytes); 二、Java 8 URL 加密 URL加密和上述基本加密类似,它使用URL和文件名安全Base64字母表(没有‘+’和‘/’,增加‘-’和‘_’),不添加任何换行隔,代码如下: String originalUrl = "https .getUrlDecoder().decode(encodedUrl); String decodedUrl = new String(decodedBytes); 三、Java 8 MIME(Multipurpose 中Base64加密和解密的基本用法,使用java 8 新引入的API。

    1.8K40编辑于 2023-03-03
  • 来自专栏javascript技术

    JS加密:JavaScript代码加密混淆

    JS加密,即JavaScript代码加密混淆,是指对js代码进行数据加密、逻辑混淆。使js代码不能被分析、复制、盗用,以达到保护js代码、保护js产品、保护js知识产权的目的。 JS加密定义 JS加密,即:JavaScript代码加密混淆、JavaScript代码混淆加密。JavaScript,简称JS,加密指对JS代码进行密文化处理,使代码难以阅读和理解。 JS加密特点JS代码加密,有多种技术手段,大体上可分为:编码、加密算法、代码变形、逻辑变化。 接口都有Web API接口,JavaScript、Python、Java、c#等语言都可以调用,可以集成在自己的产品中使用。 _0x507f5d) {_0x108ec8 = _0x108ec8 - 0x0;var _0x586c42 = _0xcb07[_0x108ec8];return _0x586c42;};function

    3.9K30编辑于 2023-10-20
  • 来自专栏代码伴一生

    java的md5加密实现代码

    import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Md5Code { public String Md5(String plainText) { System.out.println("加密前:"+plainText); try { "0"); buf.append(Integer.toHexString(i)); } System.out.println("加密后

    96200发布于 2021-09-19
  • 来自专栏BAT的乌托邦

    【小家java】java8新特性之---Base64加密和解密原理

    在Java8中Base64编码已经成为Java类库的标准,且内置了Base64编码的编码器和解码器。 ; //编码加密 String desc = Base64.getEncoder().encodeToString(orig.getBytes(StandardCharsets.UTF _8)); System.out.println("加密后的字符串为:"+desc); //解码解密 String unDecodeStr=new String ); } 输出: 加密后的字符串为:aGVsbG8gd29ybGQh 解密后的字符串为hello world! java8的Api提供了Basic编码、URL编码、MIME编码、对流的支持

    1.9K20发布于 2019-09-03
  • 来自专栏landv

    java加密解密

    import java.security.InvalidKeyException; 8 import java.security.Key; 9 import java.security.KeyFactory ; 10 import java.security.KeyPair; 11 import java.security.KeyPairGenerator; 12 import java.security.KeyStore ; 30 import java.security.spec.PKCS8EncodedKeySpec; 31 import java.security.spec.X509EncodedKeySpec ; 32 import java.util.Date; 33 import java.util.HashMap; 34 import java.util.Map; 35 import java.util.Random 对象 446 PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); 447

    8.2K50发布于 2018-05-24
  • 来自专栏全栈开发笔记

    java通用加密

    import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import java.security.MessageDigest ; import java.security.SecureRandom; /** * @program: JieYiHua-Cloud * @description: 加密解密 * @author public static final String DES = "DES"; public static final String AES = "AES"; /**编码格式;默认使用uft-8* / public static String charset = "utf-8"; /**DES*/ public static int keysizeDES = 0; (可设密码) * @param res 被加密的原文 * @param algorithm 加密使用的算法名称 * @param key 加密使用的秘钥 * @

    1.5K20编辑于 2022-12-26
  • 来自专栏Java开发

    java加密方式

    在Java中,加密方式分为对称加密、非对称加密和哈希算法。下面介绍几种常见的加密方式及其实现:1. 对称加密 - AESAES(高级加密标准)是目前最常用的对称加密算法,支持128、192和256位密钥长度。 非对称加密 - RSARSA使用公钥加密,私钥解密,适合密钥交换和数字签名。 import javax.crypto.Cipher;import java.nio.charset.StandardCharsets;import java.security. import java.nio.charset.StandardCharsets;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException

    86100编辑于 2025-07-08
  • 来自专栏Java学习网

    Java8读文件方法代码学习

    Java8读文件方法代码学习   JDK7中引入了新的文件操作类java.nio.file.File,它包含了很多有用的方法来操作文件,比如检查文件是否为隐藏文件,或者是检查文件是否为只读文件。 而且,Java8重写了此方法,无需指定字符集,直接使用UTF-8编码进行字符串转换。 使用forEach()方法,可以只用一行Java代码实现把文件的所有内容输出到控制台,如下面第三个代码片段。 ) throws IOException { // 一行代码搞定读文件,默认是UTF-8编码 out.println(new String(readAllBytes(get("d:/jd.txt ")))); } }   如果使用JDK8,那么还可以使用流API来读写文件,这样代码更简洁、高效。

    2K100发布于 2018-02-27
  • 来自专栏技术文献

    Java8——行为参数化传递代码

    简单的解决办法就是重复写一个方法,再改条件为红苹果,但是,要筛选的颜色有多种的情况,这样写会导致代码十分冗余,所以我们第一步尝试将其抽象化。 ,即使匿名类处理在某种程度上改善了为一个接口声明好几个实体类的啰嗦问题,但是还是不能令人满意,自java8引入的lambda表达式——一种更简洁的传递代码的方式解决了这个问题。 -> "red".equals(apple.getColor())); 不得不承认,使用lambda表达式改写之前的代码确实干净很多,因为它看起来更像问题陈诉本身了,解决了啰嗦的问题 8、第七次尝试:将 行为参数化可以让代码更好的适应不断变化的要求,减轻未来的工作量。 传递代码,就是将新行为作为参数传递给方法,但是在java8之前实现起来很啰嗦。 为接口声明许多只用一次的实体类而造成的啰嗦代码,在java8之前可以用匿名类来减少。 java API 包含很多可以用不同行为进行参数化的方法,包括排序、线程等。

    72530发布于 2020-09-02
  • 来自专栏程序员备忘录

    代码实现java8元空间溢出

    因为我们知道元空间在java8中替代的是java7中的永久代,永久代就是存储类信息,我们用到的类都要存放到这块空间。但是在java8中元空间在堆外。 我们知道java的动态代理会生成代理类,代理类的特点就是类名后边很多莫名其妙的字符。所以我们的元空间导致的问题很大原因上还是使用了动态代理。 编写一段代码: @RestController @RequestMapping("/v") public class UserController { Logger logger= LoggerFactory.getLogger 使用java visualVm进行载入类数量和元空间变化情况。 查看报错日志: 切断jmeter连接中断报错。 小结:通过上述代码,我们可以得出的结论就是我们编写对访问量有要求的系统的时候要主要避免采用动态代理。至于我们组项目线上的报错本人还没研究透彻,虽然解决了问题。

    81010编辑于 2022-08-11
  • 来自专栏java一日一条

    8种常见的Java不规范代码

    在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给我的同行希望能引起注意并改善代码的质量和可维护性。 要做到这个,在Eclipse中,到 Window -> Preferences -> Java -> Editor -> Save Actions并启用 Perform the selected actions 在代码块周围使用大括号: 永远不要忘记在块类型语句(如:if,for,while)周围使用大括号。这可以减少代码歧义并且避免在你修改代码块的时候产生新的bug。 不推荐 ? 下面的代码: ? 为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE

    1.1K10发布于 2018-09-19
  • 来自专栏JAVA乐园

    巧用 Java 8 的 Stream 来优化代码

    Java8的新特性主要是Lambda表达式和流,当流和Lambda表达式结合起来一起使用时,因为流申明式处理数据集合的特点,可以让代码变得简洁易读 放大招,流如何简化代码 如果有一个需求,需要对数据库查询到的菜肴进行一个处理 vegetarian; private int calories; private Type type; // getter and setter } Java8 Java8以前的实现方式 private static Map<Type, List<Dish>> beforeJdk8(List<Dish> dishList) { Map<Type, Stream,再也不用担心复杂集合处理需求 Java8以后的实现方式 private static Map<Type, List<Dish>> afterJdk8(List<Dish> dishList ,同时提高了代码可读性,赶紧在项目里用起来;使代码更加简洁、优雅。

    58010编辑于 2023-09-14
  • 来自专栏java一日一条

    8种常见的Java不规范代码

    在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给我的同行希望能引起注意并改善代码的质量和可维护性。 要做到这个,在Eclipse中,到 Window -> Preferences -> Java -> Editor -> Save Actions并启用 Perform the selected actions 在代码块周围使用大括号: 永远不要忘记在块类型语句(如:if,for,while)周围使用大括号。这可以减少代码歧义并且避免在你修改代码块的时候产生新的bug。 不推荐 ? 下面的代码: ? 为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE

    1.2K30发布于 2018-09-14
  • 来自专栏java一日一条

    8种常见的Java不规范代码

    在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给我的同行希望能引起注意并改善代码的质量和可维护性。 要做到这个,在Eclipse中,到 Window -> Preferences -> Java -> Editor -> Save Actions并启用 Perform the selected actions 在代码块周围使用大括号: 永远不要忘记在块类型语句(如:if,for,while)周围使用大括号。这可以减少代码歧义并且避免在你修改代码块的时候产生新的bug。 不推荐 ? 下面的代码: ? 猿圈 (ID: CodePush )(←长按复制) 为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C

    79910发布于 2018-09-19
  • 来自专栏JavaScript代码安全

    JavaScript代码混淆加密

    JavaScript代码混淆加密前言:首先对于web端js代码要做到纯粹的加密处理是不存在的,只能说是混淆 使得代码根本无法阅读,进而达到“加密”的效果,没有最强的盾 只有不容易破的盾 众所周知,JavaScript 网址为www.safekodo.com---safekodo混淆加密的几种类型图片如上述图片所示,safekodo提供的加密有:JavaScript代码加密、动态加密、多文件加密、API方式加密 等几种方案 JavaScript代码加密 JavaScript代码加密为最常用的加密方式 ,可以在此处加密适用于网页端或者NODEJS的js代码,配置如下图所示(配置介绍将在下方进行阐述)图片因为是演示所以就以官网提供的模板代码为例进行加密 [safekodo.com加密后的代码](https://img-blog.csdnimg.cn/22c97b0b6c8a4547a72eaf98a55eac15.png#pic_center)运行图片 也可以修改未加密的js代码,将该方法或者变量定义为全局的。当您使用safekodo 加密后代码运行遇到无缘无故的运行无报错但也无效果时,首先要看的是是否允许在了指定的(即您配置的锁定域名)域名上运行。

    3.3K41编辑于 2022-07-20
  • 来自专栏代码混淆

    java 代码混淆 class字符串加密 jar包war包加密 支持JDK16

    1.功能介绍Java文件是目前最流行的开发语言,因采用对象模式很容易进行整合复用大规模项目开发.但是目前因反编译严重,各行业由java开发的系统很容易本反编译,模仿借鉴,核心代码很容易被盗用. 为此本软件针对反编译问题,对class文件进行了字节码级别的混淆加密,很难被模仿复用.对java软件的起到很好的保护作用.就算是离线部署到客户端,也很难被复制.下面通过一个案例,查看加密后的效果图片-- ------------------------------------------------------------------------------------图片3.1 使用软件(字节码级别加密 ,图片----------二次加密后,混淆更复杂了,很难被反编译----------4.常见问题4.1 war包怎么加密? 将zip包进行混淆操作,右键打开混淆后的zip后发现已经混淆成功了图片4.1.5将zip包中的class文件 拷贝回原来war的位置.到此war混淆就成功了,可以将多个class文件打成一个zip进行加密

    2K20编辑于 2022-07-11
  • 来自专栏个人随笔

    Java MD5加密与RSA加密

    区别:   MD5加密:     加密时通过原字符串加密成另一串字符串     解密时需要原加密字符串进行重新加密比较两次加密结果是否一致   T=RSA加密:     加密时通过原字符串生成密钥对(公钥 :   MD5加密: package cn.news.util; import java.security.MessageDigest; /** * * @author: 房上的猫 * * @time: 2018年5月14日 下午8:04:44 * * @博客地址: https://www.cnblogs.com/lsy131479/ * */ public class MD5 RSA加密与解密: package cn.news.util; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.util.Base64; import javax.crypto.Cipher

    4.5K40发布于 2018-05-17
  • 来自专栏ImportSource

    Java8的Predicate,让代码更简洁

    在我们的代码中,经常会编写是否为真的代码,比如用户名是否存在,客户是否存在等。类似如下代码: public boolean exist(Long userId){ ... 但你需要了解一个java8的Predicate。通过Predicate可以让你的代码更加的简洁。学习下Predicate吧。 Predicate是一个函数接口。 Predicate不仅可以单独在代码中使用,也可以在测试代码中用来做判断,同时还可以被用在Stream的filter中,用来做过滤。 ? 使用Predicate可以让你的判断逻辑代码更加的简洁和解耦,增加了可读性、可测试性,同时符合DRY原则。 一句话:别写重复代码 现在你的代码看起来已经很炫酷了。但别急,接下来的几个操作会让你的代码看起来更加的清晰而明了。当你写了一个“大于20”的条件时,此时需求变了,需要一个新的条件20<x<30。

    6.8K30发布于 2019-05-06
领券