同样的uuid基于js中的种子字符串

时间:2017-02-01 05:14:20

标签: javascript node.js uuid guid

我找到了这个答案Is there any way to generate the same UUID based on the seed string in JDK or some library?,但这是java方式。

我需要相同,但在 javascript 中,我可以使用任何npm模块或任何库或自定义函数。

  

您可以通过这种方式使用UUID来获得与输入相同的UUID   字符串:

     

String aString =“JUST_A_TEST_STRING”;
  字符串结果=   UUID.nameUUIDFromBytes(aString.getBytes())的toString();

2 个答案:

答案 0 :(得分:1)

最后这是我的救援

var UUID = require('uuid-1345');

UUID.v5({
    namespace: UUID.namespace.url,
    name: "test"
});

答案 1 :(得分:1)

当前接受的解决方案仅在uuid-1345的github页面上的NodeJS环境中有效:

  

非功能:

     
      
  • 由于使用了NodeJS的加密模块,因此无法在浏览器中工作。
  •   

如果您正在寻找可在浏览器中使用的解决方案,则应使用更流行的uuid library

class PostViewSet(viewsets.ModelViewSet):
    queryset = Post.objects.all()
    serializer_class = PostSerializer
    # New Parser
    parser_classes = (MultipartJsonParser,)

    def update(self, request, *args, **kwargs):
        # Unify PATCH and PUT
        partial = True
        instance = self.get_object()

        # Create each PostImage
        for photo in request.data.pop("photos"):
            PostImage.objects.create(post=instance, image=photo)

        serializer = self.get_serializer(instance, data=request.data, partial=partial)
        serializer.is_valid(raise_exception=True)
        # Do ViewSet work.
        self.perform_update(serializer)
        return Response(serializer.data)

只要您向UUID传递相同的名称空间,它就会保持一致。

希望有帮助。