Tag: base64

使用流式传输的Android文件到Base64有时会错过2个字节

我正在写信要求解决以下困难的正确解决方案: 我需要以Base64格式对文件进行编码,并且我无法使文件变小,因此,我肯定会遇到OutOfMemory Exception,这就是为什么我使用Streaming方法来解决它。 文件编码后,我已经通过代码和在线工具立即对其进行了解码。 发现解码后的内容有时会在文件末尾丢失2个字节,但并非总是如此。 它确实影响了对文件的进一步处理。 希望有人可以提供帮助,可能是由于一个白痴的错误造成的。 还是谢谢。 这是代码: FileOutputStream fout = new FileOutputStream(path + “.txt”); //this is for printing out the base64 content FileInputStream fin = new FileInputStream(path); System.out.println(“File Size:” + path.getTotalSpace()); ByteArrayOutputStream os = new ByteArrayOutputStream(); Base64OutputStream base64out = new Base64OutputStream(os,Base64.NO_WRAP); byte[] buffer = new byte[3 * 512]; int len = 0; while […]

Java,Base64:如何使用Decorator Pattern编写Base64OutputStream类

基于我关于RSA和Base64编码的原始问题及其中的注释,我想知道编写Base64OutputStream(或输入流)的最佳方法是什么。 我最初称它为Base64PrintWriter并将其从PrintWriter扩展到将PrintWriter传递给构造函数。 import org.bouncycastle.util.encoders.Base64; public class Base64OutputStream extends FilterOutputStream { public Base64OutputStream(OutputStream out) { super(out); } public void write(byte[] decodedBytes) throws IOException { byte[] base64Message = Base64.encode(decodedBytes); super.write(base64Message); } public void writeln(byte[] decodedBytes) throws IOException { write(decodedBytes); super.write(“\n”.getBytes()); super.flush(); } } 我将原始实现更改为上面的实现,并将其初始化为: Base64OutputStream base64encoder = new Base64OutputStream(socket.getOutputStream()); 我的问题是: 这是一个很好的设计吗? 可以做得更好吗? 我是否正确应用了装饰器图案。 扩展FilteredOutputStream而不是OutputStream是否合适? Oracle表示它很好,但仍有任何缺点或理由仍然从OutputStream扩展? 当我调用构造函数时,我是否应该使用BufferedOutputStream另外装饰它?

如何使用RSA密钥签署通用文本并使用Java中的Base64进行编码?

我在bash中有以下代码: signed_request = $(printf “PLAIN TEXT REQUEST” | openssl rsautl -sign -inkey “keyfile.pem” | openssl enc -base64 | _chomp ) 基本上,此代码采用纯文本,使用私钥对其进行签名并使用Base64进行编码 我怎样才能在Java中使用完全相同的function执行代码?

Base64 C#和Java之间的区别

image是图像文件的字符串。 我在C#中有如下代码: Convert.ToBase64String(image); 和Java中的代码如下: org.apache.commons.codec.binary.Base64.encodeBase64(image.getBytes()) 结果是不同的。 有人说是因为 Java字节:-128到127 C#字节:0到255 但是我该如何解决这个问题呢? 如何在Java中实现C#的Convert.ToBase64String() ? 我需要使用Java在C#中获得相同的结果。

如何使用javamail将base64图像嵌入到电子邮件中

我正在尝试使用嵌入式base64图像从javamail发送电子邮件(img alt =’image PNG’src =’data:image / png; base64,iVBORw0KGgoAAAANSUhEUgA … AElFTkSuQmCC’“) 它使用的是小图像,但是当图像较大时,图像不会显示在莲花笔记中。 这是代码的一部分 Transport transport = mailSession.getTransport(); MimeMessage message = new MimeMessage( mailSession ); message.setSubject( subject ); message.setFrom( new InternetAddress( me) ); message.setContent( bodyWithEmbeddedBase64Image, “text/html” ); transport.connect(); transport.sendMessage( message, message.getAllRecipients() ); transport.close();` 我想用PreencodedMimeBodyPart来测试它,但我不知道如何使用它有人可以帮我吗:)?

有些问题与电子邮件签名中的图像实现有关?

我需要用image实现电子邮件签名。截至目前,我们只支持已经正在工作的电子邮件签名中的文本。我需要提供我可以在邮件签名中插入图像的function。 我可以将电子邮件发送给myapplication中的用户,也可以发送给外部邮件域上的用户,例如gmail,yahoo等。当邮件发送给我的应用程序系统中的某个用户时,系统会输入数据库,当接收者收到收件箱时(内部从db读取邮件)。 现在,如果用户在gmail上将邮件发送给外部用户,它就会使用javax mail api。 我可以收到来自外部邮件域(gmail,yahoo等)的电子邮件。现在我几乎没有基于tis要求的问题: – 1)对于像gmail这样的外部邮件域如何将签名内的图像发送到另一个域(我的应用程序邮件域),是否有任何标准? 与gmail用户相关的另一点可以有两个图像,一个用于签名,另一个用于体内图像。 我如何确定哪个图像属于签名? 是否有任何明确的财产? 2)还无法确定哪种最佳/一致的方法(包括内部应用程序用户或外部邮件域用户)包含图像的电子邮件签名,以便在用户收到时正确呈现? 我在脑海中对第2点的看法: – 我之前认为我可以使用如何在jsp中显示图像的解决方案? 。 使用标记的地方 ,我可以从动作类或servlet中的db获取图像并返回。 但请记住,一旦我通过gmail将邮件发送给用户,他将无法访问servlet。因此,这种方法似乎不符合要求。 然后我遇到了另一个伟大的stackoverflow链接 base64编码图像的电子邮件签名 ,其中蒂姆梅多拉的解决方案看起来很棒,但再次解决方案下面的评论Gmail似乎不支持它再次结束我的伙计真的我认为如果邮件我应该完成域名像gmail,雅虎支持建议的解决方案,因为在这种情况下,我可以发送图像作为base64字符串而不是图像作为附件。 如果你能为我提供关于第1点和第2点的一些指针/方法,那么人们将非常感激

从CLI生成base64编码的哈希以匹配Java

我有一个java代码库,它从一个字符串生成一个URL安全的base64编码哈希,并想知道是否/如何使用linux命令行工具。 我猜测我在做什么的问题是字符集/编码或将字符串转换为字节数组。 Java代码: MessageDigest md = MessageDigest.getInstance(“SHA-256”); byte[] digest = md.digest(“testString”.getBytes()); // ^^ this is where the difference is? String b64url = Base64.encodeBase64URLSafeString(digest); // b64url: Ss8LOdnEdmcJo2ifVTrAGrVQVF_6RUTfwLLOqC-6AqM 命令行: echo testString | sha256sum | cut -d” ” -f1 | base64 # NDgxOGEyY2JkODYwOTY1NjJkODFmYzIwNmQ3ZTYyNWVlNGFjMTU5MmViNTc0MjQwMDQ4OTIzOTBl # MDQzZTNlYwo= 是否可以通过cli工具生成base64编码的sha256?

如何使用MessageDigest,Base64进行解码

我目前正在编码密码。 我必须解码密码。 这是要编码的代码。 我想把原始密码比作一下。 我研究过MessageDigest,它说这是一种单向方法。 不知道如何获取原始邮件。 我们有一个解码方法,但它没有给我原始密码 – Base64.decode。 public static synchronized String getMD5_Base64(String input) { if (!isInited) { isInited = true; try { digest = MessageDigest.getInstance(“MD5”); } catch (Exception ex) { } } if (digest == null) return input; // now everything is ok, go ahead try { digest.update(input.getBytes(“UTF-8”)); } catch (java.io.UnsupportedEncodingException ex) { […]

如何在java中将Image转换为base64字符串?

它可能是重复但我面临一些问题,将图像转换为Base64发送给Http Post 。 我试过这段代码,但它给了我错误的编码字符串。 public static void main(String[] args) { File f = new File(“C:/Users/SETU BASAK/Desktop/a.jpg”); String encodstring = encodeFileToBase64Binary(f); System.out.println(encodstring); } private static String encodeFileToBase64Binary(File file){ String encodedfile = null; try { FileInputStream fileInputStreamReader = new FileInputStream(file); byte[] bytes = new byte[(int)file.length()]; fileInputStreamReader.read(bytes); encodedfile = Base64.encodeBase64(bytes).toString(); } catch (FileNotFoundException e) { // TODO Auto-generated […]

Base64加密的允许字符

我正在使用Base64加密来加密Java中的用户ID字段。 String abc = new String(Base64.encodeBase64(“Actualuseridfield”)); 我想知道上面的字符串abc是否包含字符“,:或不是? 当在abc中返回Base64加密字符串时,它是否会包含以下字符? ” , : 任何人都可以解散一些光吗?