infoService.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package service
  2. import (
  3. "app.yhyue.com/moapp/jybase/common"
  4. "app.yhyue.com/moapp/jybase/redis"
  5. IC "bp.jydev.jianyu360.cn/BaseService/biCenter/api/common"
  6. "crypto/rand"
  7. "crypto/rsa"
  8. "crypto/x509"
  9. "encoding/base64"
  10. "encoding/pem"
  11. )
  12. type InfoService struct {
  13. }
  14. func (l *InfoService) Myinfo(sid string) map[string]interface{} {
  15. infoMap := map[string]interface{}{}
  16. info_i := redis.Get("session", sid)
  17. if info_i != nil {
  18. info_m, _ := info_i.(map[string]interface{})
  19. infoMap = map[string]interface{}{
  20. "nickName": RsaEncrypt([]byte(common.InterfaceToStr(info_m["s_nickname"]))),
  21. "entRole": RsaEncrypt([]byte(common.InterfaceToStr(info_m["entRole"]))),
  22. "entNicheDis": RsaEncrypt([]byte(common.InterfaceToStr(info_m["entNicheDis"]))),
  23. "positionId": RsaEncrypt([]byte(common.InterfaceToStr(info_m["positionId"]))),
  24. "accountId": RsaEncrypt([]byte(common.InterfaceToStr(info_m["s_nickname"]))),
  25. "entAccountId": RsaEncrypt([]byte(common.InterfaceToStr(info_m["s_nickname"]))),
  26. "entId": RsaEncrypt([]byte(common.InterfaceToStr(info_m["entId"]))),
  27. "entName": RsaEncrypt([]byte(common.InterfaceToStr(info_m["entName"]))),
  28. "entUserName": RsaEncrypt([]byte(common.InterfaceToStr(info_m["entUserName"]))),
  29. "entUserId": RsaEncrypt([]byte(common.InterfaceToStr(info_m["entUserId"]))),
  30. }
  31. }
  32. return infoMap
  33. }
  34. // 加密
  35. func RsaEncrypt(origData []byte) string {
  36. //解密pem格式的公钥
  37. block, _ := pem.Decode([]byte(IC.C.PublicKey))
  38. if block == nil {
  39. return ""
  40. }
  41. // 解析公钥
  42. pubInterface, err := x509.ParsePKIXPublicKey(block.Bytes)
  43. if err != nil {
  44. return ""
  45. }
  46. // 类型断言
  47. pub := pubInterface.(*rsa.PublicKey)
  48. //加密
  49. data, _ := rsa.EncryptPKCS1v15(rand.Reader, pub, origData)
  50. v1 := base64.StdEncoding.EncodeToString(data)
  51. return v1
  52. }