# 4-加密视频版权保护

* [点播视频版权保护最佳实践](#点播视频版权保护最佳实践)
* [配置账号密钥](#配置账号密钥)
* [配置传入token](#配置传入token)

#### 点播视频版权保护最佳实践

为了保护您的视频资源，提高视频播放的安全性，建议您提前阅读[版权保护最佳实践](https://git.polyv.net/help-center/document-center/-/blob/master/vod/product/security_best_demo/README.md)，了解保利威是如何保护视频资源的。

#### 配置账号密钥

由于播放器在播放视频时需要使用到账号密钥`secretKey`，如果密钥明文写在代码或 APP 配置文件当中，在打包 APP 后极易被反编译获取，从而导致密钥泄露。

建议您将密钥保存在您的服务器中并自定义一套加解密规则，在进入播放页面前，通过网络请求获取加密的密钥，并且在本地 native 层实现解密后，再传递给播放器。

#### 配置传入token

默认情况下，持有了`secretKey`的任何用户均可以通过保利威的接口获得视频播放凭证 token，从而播放视频。

您可以在点播后台的[加密设置](https://my.polyv.net/secure/setting/playsafe)中配置 ip 白名单，这样只有通过您的服务器才可以请求接口获取播放凭证，避免密钥泄露引起的大范围视频泄露风险。

在配置 ip 白名单后，您需要对播放器进行相应配置，以正确地传入播放凭证 token，示例如下：

```ts
player.getBusinessListenerRegistry().vodTokenRequestListener = {
  async onRequestToken(mediaResource: PLVVodMediaResource): Promise<PLVVodVideoTokenVO> {
    // 通过网络请求，向您的服务器请求视频播放token
    const token: PLVVodVideoTokenVO = await fetchTokenFromNetwork()
    // 将token返回给播放器
    return token;
  }
}
```
