首页 > 解决方案 > 尝试使用 exoplayer 流式传输加密视频时出错

问题描述

我一直在尝试使用 exoplayer 在我的服务器上流式传输加密视频。我弄清楚了有关自定义数据源的所有信息,它正在流式传输其他未加密的在线视频,但是当我尝试解密视频时出现错误,我只知道密码字符串(即“abc123”我也有 md5这个)我不知道我应该如何将它准确地转换为密钥,然后将它与我的密码一起使用 错误 1)当我使用密码字符串作为密钥时,我收到不支持的密钥大小错误,2)当我使用md5 作为键我得到 UnrecognizedInputFormatException

    String sb="abc123"; 
    byte []b=sb.getBytes();
    mSecretKeySpec = new SecretKeySpec(b,"AES");
    mIvParameterSpec = new IvParameterSpec("abc123".getBytes());
    try {
        mCipher = Cipher.getInstance("AES/CBC/NoPadding");
        mCipher.init(Cipher.DECRYPT_MODE, mSecretKeySpec,mIvParameterSpec);
    } catch (Exception e) {
        System.out.println(e.getMessage()+e.getCause()+"fuckeddd");
        e.printStackTrace();
    }

标签: androidencryptionvideo-streamingexoplayer2.x

解决方案


“abc123”不是有效的加密密钥。加密密钥是一个 16 字节的二进制值。


推荐阅读