`

解决Eclipse中无法直接使用Base64Encoder的问题

    博客分类:
  • java
 
阅读更多

转自:https://blog.csdn.net/u011514810/article/details/72725398

Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder类。这个类是sun公司的内部方法,并没有在java api中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在Eclipse和MyEclipse中直接使用,却找不到该类。解决方法如下:

 

1.右键项目--》Build Path --》Configure Build Path

选择Libraries,点击JRE System Library,选择 Access rules,如果之前没有定义规则,会显示No rules defined

 

2. Access rules,点击Edit --》Add,然后点击Ok

 

3.在Resolution下拉列表框中选择Accessible,Rule Pattern 选择**,依次点击ok

 

 

最后,写一个小demo让大家参考一下:

package edu;
import sun.misc.BASE64Encoder;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.io.UnsupportedEncodingException;
 
@SuppressWarnings("restriction")
public class Jiami {
	public static void main(String[] args) throws UnsupportedEncodingException {
		String userpwd= "jojo12525";
		MessageDigest sha1 = null;
		try {
			sha1 = MessageDigest.getInstance("SHA1");
		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		BASE64Encoder base64en = new BASE64Encoder();
		String pwd = base64en.encode(sha1.digest(userpwd.trim().getBytes("utf-8")));
		System.out.println(pwd);
	}

 

加密算法选择SHA1,运行结果为   VL5P9W/tTcYn/WK4/lRZV+mvBpQ=

分享到:
评论

相关推荐

    eclipse中解除jdk的访问限制(以BASE64Encoder/BASE64Decoder为例)

    但在某些情况下,Eclipse可能无法直接使用这些类,这可能是由于项目配置、JDK版本不兼容或其他原因导致的。以下将详细介绍如何在Eclipse中解除对这些类的访问限制。 首先,我们需要了解`BASE64Encoder`和`BASE64...

    sun.misc.BASE64Encoder 找不到

    总结来说,当遇到“找不到sun.misc.BASE64Encoder”的问题时,你可以选择引入Bouncy Castle库,如`bcprov-ext-jdk15on-149.jar`,或者直接使用Java内置的`java.util.Base64`类来替换。使用标准API不仅可以确保代码的...

    解决JDK1.6下的Base64报错问题

    在资源文件中的`解决JDK1.6下的Base64.jar`可能是包含了一个兼容JDK 1.6的Base64实现的第三方库,你可以直接将这个jar包添加到你的项目类路径中,这样就可以使用其中提供的Base64类而无需修改代码。添加方法通常包括...

    sun.misc.base64decoder.jar下载

    sun.misc.BASE64Encoder找不到jar包的解决方法? 在MyEclipse中编写Java代码时,用到了BASE64Decoder,import sun.misc.BASE64Decoder;可是Eclipse提示:  Access restriction: The type BASE64Decoder is not ...

    Thymeleaf显示base64字符串为图片.docx

    这段后台代码中,我们首先获取到图片的字节数组`imgbyte`,然后使用`BASE64Encoder`将其转换为Base64字符串`str64`。`ModelAndView`对象用于在前后端之间传递数据,我们设置了视图名称为`showimg`,并添加了一个名为...

    sun.misc.BASE64Decoder

    解决android无法使用sun.misc.CharacterDecoder,添加了rt.jar也不行。 然后本人就寻找了其六个java源文件,添加到项目中使用即可。 BASE64Decoder.java BASE64Encoder.java CEFormatException.java ...

    base64加密_Base64加密_

    在Java中,可以使用`Base64.getEncoder().encodeToString(byte[])`方法,其中参数是需要编码的字节数组。在Python中,可以使用`base64.b64encode()`函数。 4. **解密过程**:相反,如果要解密Base64字符串,使用...

    java base64 和RSA 加密解密

    例如,你可以使用`Base64.getEncoder().encodeToString(byte[])`来编码字节数组,用`Base64.getDecoder().decode(String)`来解码Base64字符串回原始的字节数组。这种编码方法常用于将图片、文件的二进制内容转换为...

    BASE64ofsun.zip

    Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder 这人类是sun公司的内部方法,并没有在java api中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,...

    Java GZip压缩使用以及解决包找不到问题

    在压缩数据后,我们可以使用`Base64.getEncoder().encodeToString()`方法将压缩后的字节数组转换为Base64字符串,以便在网络上传输。反之,若要解码并解压,我们可以使用`Base64.getDecoder().decode()`获取字节数组...

    Eclipse,MyEclipse可直接使用的rt.jar

    jdk中的rt.jar包,可适合java web开发,复制到web-inf目录下的lib中可以使用,另外包含BASE64Encoder 与 BASE64Decoder等工具类

    import com.sun.image.codec.jpeg.JPEGImageEncoder;包的下载

    base64找不到下面连个jar包也可以解决 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; 报错: Access restriction: The type JPEGImageEncoder is not accessible due to restriction on required...

    文件互传(自家用),含打包好的apk与jar,含该项目的AndroidStudio与Eclipse源码

    共有:Socket的通信、Base64加密与解密、MD5码验证、分包思想解决大文件传输问题、Toast提醒的应用 个人建议:最好通过源码自行设计最适合自己的操作方式,因为自己制作的东西才是最适合自己的,不用依赖任何人。

    SpringBoot集成MQTT之消息订阅处理程序

    在Java 8及以上版本,我们有内置的`Base64`类可以直接使用: ```java import java.util.Base64; public class Base64Util { public static String encodeToString(byte[] data) { return Base64.getEncoder()....

    Cknife-modified-java9可用.rar

    Cknife源码从 Chora && MelodyZX 的GitHub 上获得,本人对涉及BASE64ENCODER的代码做了修改以适应java9版本。 下载后用eclipse导入项目(project),编译运行src/com/ms509/ui下的Cknife.java即可。

    RSA加密解密java实例

    我们可以使用`java.security.KeyFactory`和`java.security.spec.X509EncodedKeySpec/PKCS8EncodedKeySpec`将密钥转换为Base64编码的字符串。 3. **加密过程**:使用公钥进行加密。获取公钥后,使用`Cipher`类的`...

    Java加密解密

    String encryptedValue = Base64.getEncoder().encodeToString(encValue); return encryptedValue; } // 对应的解密方法 } ``` 非对称加密如RSA则需要两个密钥,公钥公开,私钥保密。Java中的java.security....

    字符串加密算法详解.pdf

    String encodedData = Base64.getEncoder().encodeToString(encryptedData); ``` 5. **解密数据**:解密过程与加密类似,但需要将Cipher实例初始化为解密模式,并使用相同的密钥和IV。使用Cipher的 `doFinal` ...

Global site tag (gtag.js) - Google Analytics