RTSP协议视频智能分析平台EasyNVR登录及页面的加密优化方案介绍

大家知道任何平台,其安全性都是至关重要的,出现的任何漏洞都有可能导致文件的丢失或者不法分子的侵入。因此为了强化TSINGSEE青犀视频云边端平台的安全性,我们在EasyNVR上对用户名密码及页面的传输进行了新的加密。

原本EasyNVR上认证或者修改密码等传输过程中密码只是MD5加密,传输的密码通过某种手段可以在网上反解出来,一定层面上还需提高安全性。

41.png

42.png

因此我们需要对敏感信息进行加密后再传输,于是就在MD5加密之后在RSA加密一次,并且将传输敏感信息页面采用https协议。

var publicKey = `-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0GTl+iyP1YeNWz8ru2er
x1icc5+mckDfCjkrtVs43fIsA8m4UMv/KpHXGgywKGoOleBEoSJAGzaAWYpUSBat
7/Y9+iRSL60uBJX4RePhKz16Uw77jwBBcHF1Zv0qWRb3uD+PDAruFdzmOe+rnse7
pihy8HJD9RwEqXiSDimeNXtXkBfIYHl1CTwebQdavTKxOcaCKQ30zcb+uj/5SqSy
4sgPlO+hVZQhCEPGiGFoDpzAvDWqZtevG36nsRKkF6i/fJJz+fDXLEcz8+Q0/isv
iL7DwZ9Vlqitgx0ODv4As31YLaq67Z43UyPzvrnC80NbBt+B0RYbkQrLLCC6iQ/n
IQIDAQAB
-----END PUBLIC KEY-----`

// RSA解密 发送过来的数据
func RsaDecrypt(password string) (string, error) {
   // 经过base64加密后数据+号会变成空格
   passwordEncrypt := strings.ReplaceAll(password, " ", "+")
   b, _ := base64.StdEncoding.DecodeString(passwordEncrypt)
   block, _ := pem.Decode([]byte(privateKey))
   private, _ := x509.ParsePKCS1PrivateKey(block.Bytes)
   res, err := rsa.DecryptPKCS1v15(rand.Reader, private, b)
   if err != nil {
      return "", err
   }
   return string(res), nil
}

在登录接口中,先RSA解密密码,然后在和数据库的密码对比查看是否正确,正确则登录成功,不正确则登录失败。以下为RSA解密参考代码。

43.png

func (h *APIHandler) Login(c *gin.Context) {
   if isLoginLocked() {
      c.AbortWithStatusJSON(401, fmt.Sprintf("登陆已锁定,请%d分钟后重试", loginLockedDur-(time.Now().Unix()-loginLockedTime)/60))
      return
   }
   type Form struct {
      Username string `form:"username" binding:"required"`
      Password string `form:"password" binding:"required"`
   }
   var form Form
   if err := c.Bind(&form); err != nil {
      return
   }
   // 进行RSA解密
   password, err := global.RsaDecrypt(form.Password)
   if err != nil {
      incLoginFailedCount()
      c.AbortWithStatusJSON(401, "密码加解密错误")
      return
   }
   form.Password = password
}

目前EasyNVR及EasyCVR等视频平台也在进行部分细节的优化,如果大家有兴趣,也欢迎大家测试,TSINGSEE青犀视频官方网站即可下载试用EasyNVR,我们提供为期30天的免费试用天数,试用期间也可自由调用二次开发接口或者进行集成,欢迎大家了解。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值