Tag: base64

如何使用gzip-android将图像转换为base64字符串

我试图转换和压缩从android上的文件路径获取的图像 ,用base64的gzip进行转换(我正在使用这个,因为我的桌面版本,用java编写,也在做同样的事情)。 这是我目前用于压缩的内容: Bitmap bm = BitmapFactory.decodeFile(imagePath); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); byte[] data = baos.toByteArray(); String base64Str = null; ByteArrayOutputStream out_bytes = new ByteArrayOutputStream(); OutputStream out = new Base64.OutputStream(out_bytes); try { out.write(data); out.close(); byte[] encoded = out_bytes.toByteArray(); base64Str = Base64.encodeBytes(encoded, Base64.GZIP); baos.close(); } catch (Exception e) {}

如果解码,两个不同的BASE 64编码字符串可以产生相同的字符串吗?

在客户端,我正在对字符串进行MD5加密,然后对生成的哈希进行BASE 64编码。 然后将该最终编码的字符串用于服务器端的比较。 我能够成功地为许多测试用例做到这一点,但是对于下面的测试用例,它失败了。 MD5的字符串 2679:07071960:09348448:3:08912206:3:EXPRESS:1:EU4NW31E7INEC1X 我的MD5哈希字符串: 291423A531148527A9524EA0924CDF68 我的Base64编码字符串: KRQjpTEUhSepUk6gkkzfaA== 当我尝试在http://www.opinionatedgeek.com/dotnet/tools/base64encode/上放置用于BASE64编码的MD5哈希字符串时,它会生成以下字符串: MjkxNDIzQTUzMTE0ODUyN0E5NTI0RUEwOTI0Q0RGNjg= 但是,当我尝试解码我​​的Base64字符串时,就是“KRQjpTEUhSepUk6gkkzfaA ==”,这里http://www.opinionatedgeek.com/dotnet/tools/Base64Decode/Default.aspx我得到了我的哈希码(打开了.bin)文件在hex编辑器中生成)。 那么,单个字符串可能有多个Base64编码值吗? 我使用以下代码生成编码字符串: public static String getHashCode(String text) { MessageDigest md; byte[] md5hash = new byte[32]; try{ md = MessageDigest.getInstance(“MD5”); md.update(text.getBytes(“iso-8859-1”), 0, text.length()); md5hash = md.digest(); } catch(Exception e) { return “-1”; } String encoded = Base64.encode(md5hash); String retValue = new String(encoded); […]

Java和Android之间的错误编码/解码Base64

作为我的问题,当我在Java和Android之间编码/解码Base64时,我遇到了一个大问题。 这是我的情况: 我在Java上使用ECC编写代码来加密/解密,mycode工作得非常好。 然后我尝试在Java上加密字符串并在Android上解密这个加密的字符串,它失败了。 我认为问题可能是编码/解码Base64。 这是我的代码: 1 /仅在Java上加密/解密: //ENCRYPT try { Cipher c = Cipher.getInstance(“ECIES”,BouncyCastleProvider.PROVIDER_NAME); c.init(Cipher.ENCRYPT_MODE,publicKey); encodeBytes = c.doFinal(origin.getBytes()); String encrypt = Base64.getEncoder().encodeToString(encodeBytes); System.out.println(“Encrypt:”+ encrypt+”\n”); } catch (Exception e) { e.printStackTrace(); } //////DECRYPT try { String abc = Base64.getDecoder().decode(encrypt); Cipher c = Cipher.getInstance(“ECIES”,”BC”); c.init(Cipher.DECRYPT_MODE,privateKey); //decodeBytes = c.doFinal(encodeBytes); decodeBytes = c.doFinal(abc); String deCrypt = new String(decodeBytes,”UTF-8″); […]

将字节数组转换为android中的Base64字符串

所以我让用户输入密码来从Android应用程序注册。 在将密码保存到服务器上的数据库之前,我想将其转换为MD5单向散列并将其保存到数据库中。 MessageDigest md = null; try { md = MessageDigest.getInstance(“MD5”); } catch (NoSuchAlgorithmException e3) { // TODO Auto-generated catch block e3.printStackTrace(); } try { md.update(password.getBytes(“UTF-8”)); } catch (UnsupportedEncodingException e3) { // TODO Auto-generated catch block e3.printStackTrace(); } byte raw[] = md.digest(); 如何将此字节数组转换为Base64字符串。 我在一些论坛上看到android util包遗漏了Base64编码和解码,另一方面我在android开发者网站上看到了encodetoString函数。 任何帮助表示赞赏。

构建和validationGigya签名

我根据Gigya 构建签名的说明编写了一个方法来validation指定时间戳和UID的gigya 签名 。 这是Gigya的psuedo代码: string constructSignature(string timestamp, string UID, string secretKey) { // Construct a “base string” for signing baseString = timestamp + “_” + UID; // Convert the base string into a binary array binaryBaseString = ConvertUTF8ToBytes(baseString); // Convert secretKey from BASE64 to a binary array binaryKey = ConvertFromBase64ToBytes(secretKey); // Use the HMAC-SHA1 […]

关于Eclipse上的sun / misc / BASE64Encoder的错误

当我在mac中运行我的应用程序,并显示此消息 构建期间发生错误。 项目“IMPEXP”上运行构建器“Android Package Builder”的错误。 太阳/其它/ BASE64Encoder 但是这个项目在Windows 10计算机上工作正常,我不使用任何关于base64Encoder eclipse版本:Photon Milestone 3(4.8.0M3)JRE java se 9.0 编辑! 我找到了类似下面的东西 !ENTRY org.eclipse.core.resources 4 2 2017-11-09 11:50:09.047 !MESSAGE Problems occurred when invoking code from plug-in: “org.eclipse.core.resources”. !STACK 0 java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder at com.android.sdklib.internal.build.SignedJarBuilder.(SignedJarBuilder.java:177) at com.android.sdklib.build.ApkBuilder.init(ApkBuilder.java:446) at com.android.sdklib.build.ApkBuilder.(ApkBuilder.java:422) at com.android.sdklib.build.ApkBuilder.(ApkBuilder.java:362) at com.android.ide.eclipse.adt.internal.build.BuildHelper.finalPackage(BuildHelper.java:391) at com.android.ide.eclipse.adt.internal.build.BuildHelper.finalDebugPackage(BuildHelper.java:359) at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:632) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at […]

如何读取Servlet中的图像(或其他文件)并将其编码为base64

在servlet中,我必须从磁盘读取映像文件,将其编码为Base64,然后发送回客户端。 因为我只找到iOS,Python和其他一些类型的样本(主要是所有类似的方式)我想我在这里发布我的代码来帮助其他人;) 警告! 这应该仅适用于最大2GB的文件: ByteBuffer设置容量只需要一个int 。

在黑莓中将位图转换为base64字符串

我有一个需要发送到服务器的图像。 有没有办法在黑莓中将位图(jpg)转换为base64字符串?

Base64_encode在Java和PHP之间有所不同

这是我的问题: 我有一个JAVA函数来生成加密的字符串。 我必须在PHP中做同样的事情。 我的Javafunction: String generateSignature () { byte[] Sequence = (“hello”).getBytes(“UTF-8”); Mac HMAC = Mac.getInstance(“HMACSHA256”); HMAC.init(“SECRET_KEY”); byte[] Hash = HMAC.doFinal(Sequence); String Signature = new String(Base64.encodeBase64(Hash)); return Signature; } 我的PHPfunction: function generateSignature() { $sequence = “hello”; $encrypted = hash_hmac(‘sha256’, $sequence, “SECRET_KEY”); return base64_encode($encrypted); } 两个函数的返回值不一样。 我注意到在编码到base 64之前,两个函数都有相同的结果。 所以,对我来说,问题不在于密钥的生成,而在于编码。 有人能帮忙吗?

Apache Commons Email with attach with base64

我正在尝试通过apache.commons.mail发送一个base64编码的文件,我只是无法找到它应该去的Content-Transfer-Encoding: base64标头。 // Create the email MultiPartEmail email = new MultiPartEmail(); email.setSmtpPort(587); email.setDebug(false); email.setHostName(“smtp.gmail.com”); email.setAuthentication(“from@gmail.com”, “password”); email.setTLS(true); email.addTo(“to@example.com”); email.setFrom(“from@example.com”); email.setSubject(“subject”); email.attach(new ByteArrayDataSource( Base64.encodeBase64(attachFull.getBytes()), “text/plain”), “samplefile.txt”, “sample file desc”, EmailAttachment.ATTACHMENT ); 而这正是收件人所获得的。 ——=_Part_0_614021571.1334210788719 Content-Type: text/plain; charset=Cp1252; name=texto.txt Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=samplefile.txt Content-Description: sample file desc 我如何指定该文件是Base64编码?