Nav apraksta

RNFetchBlobUtils.java 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.RNFetchBlob;
  2. import java.security.MessageDigest;
  3. import java.security.cert.CertificateException;
  4. import javax.net.ssl.HostnameVerifier;
  5. import javax.net.ssl.SSLContext;
  6. import javax.net.ssl.SSLSession;
  7. import javax.net.ssl.SSLSocketFactory;
  8. import javax.net.ssl.TrustManager;
  9. import javax.net.ssl.X509TrustManager;
  10. import okhttp3.OkHttpClient;
  11. /**
  12. * Created by wkh237 on 2016/7/11.
  13. */
  14. public class RNFetchBlobUtils {
  15. public static String getMD5(String input) {
  16. String result = null;
  17. try {
  18. MessageDigest md = MessageDigest.getInstance("MD5");
  19. md.update(input.getBytes());
  20. byte[] digest = md.digest();
  21. StringBuffer sb = new StringBuffer();
  22. for (byte b : digest) {
  23. sb.append(String.format("%02x", b & 0xff));
  24. }
  25. result = sb.toString();
  26. } catch (Exception ex) {
  27. ex.printStackTrace();
  28. } finally {
  29. return result;
  30. }
  31. }
  32. public static OkHttpClient.Builder getUnsafeOkHttpClient() {
  33. try {
  34. // Create a trust manager that does not validate certificate chains
  35. final TrustManager[] trustAllCerts = new TrustManager[]{
  36. new X509TrustManager() {
  37. @Override
  38. public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
  39. }
  40. @Override
  41. public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
  42. }
  43. @Override
  44. public java.security.cert.X509Certificate[] getAcceptedIssuers() {
  45. return new java.security.cert.X509Certificate[]{};
  46. }
  47. }
  48. };
  49. // Install the all-trusting trust manager
  50. final SSLContext sslContext = SSLContext.getInstance("SSL");
  51. sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
  52. // Create an ssl socket factory with our all-trusting manager
  53. final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
  54. OkHttpClient.Builder builder = new OkHttpClient.Builder();
  55. builder.sslSocketFactory(sslSocketFactory);
  56. builder.hostnameVerifier(new HostnameVerifier() {
  57. @Override
  58. public boolean verify(String hostname, SSLSession session) {
  59. return true;
  60. }
  61. });
  62. return builder;
  63. } catch (Exception e) {
  64. throw new RuntimeException(e);
  65. }
  66. }
  67. }