Check OSS data transmission integrity by using 64-bit CRC / Python











up vote
0
down vote

favorite












Currently, OSS can return the 64-bit CRC value for an object uploaded in any mode on Alibaba Cloud OSS. To check the data integrity, I can compare the 64-bit CRC value with the locally calculated value.



Below is a Python code which shows how to check data transmission integrity based on the 64-bit CRC value.



import oss2
from oss2.models import PartInfo
import os
import crcmod
import random
import string
do_crc64 = crcmod.mkCrcFun(0x142F0E1EBA9EA3693L, initCrc=0L, xorOut=0xffffffffffffffffL, rev=True)
def check_crc64(local_crc64, oss_crc64, msg="check crc64"):
if local_crc64 ! = oss_crc64:
print "{0} check crc64 failed. local:{1}, oss:{2}.".format(msg, local_crc64, oss_crc64)
return False
else:
print "{0} check crc64 ok.".format(msg)
return True
def random_string(length):
return ''.join(random.choice(string.lowercase) for i in range(length))
bucket = oss2. Bucket(oss2. Auth(access_key_id, access_key_secret), endpoint, bucket_name)


How can i verify Put / Get objects values in Python.



I appreciate any assistance with this.










share|improve this question







New contributor




Ghulam Qadir is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    up vote
    0
    down vote

    favorite












    Currently, OSS can return the 64-bit CRC value for an object uploaded in any mode on Alibaba Cloud OSS. To check the data integrity, I can compare the 64-bit CRC value with the locally calculated value.



    Below is a Python code which shows how to check data transmission integrity based on the 64-bit CRC value.



    import oss2
    from oss2.models import PartInfo
    import os
    import crcmod
    import random
    import string
    do_crc64 = crcmod.mkCrcFun(0x142F0E1EBA9EA3693L, initCrc=0L, xorOut=0xffffffffffffffffL, rev=True)
    def check_crc64(local_crc64, oss_crc64, msg="check crc64"):
    if local_crc64 ! = oss_crc64:
    print "{0} check crc64 failed. local:{1}, oss:{2}.".format(msg, local_crc64, oss_crc64)
    return False
    else:
    print "{0} check crc64 ok.".format(msg)
    return True
    def random_string(length):
    return ''.join(random.choice(string.lowercase) for i in range(length))
    bucket = oss2. Bucket(oss2. Auth(access_key_id, access_key_secret), endpoint, bucket_name)


    How can i verify Put / Get objects values in Python.



    I appreciate any assistance with this.










    share|improve this question







    New contributor




    Ghulam Qadir is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      Currently, OSS can return the 64-bit CRC value for an object uploaded in any mode on Alibaba Cloud OSS. To check the data integrity, I can compare the 64-bit CRC value with the locally calculated value.



      Below is a Python code which shows how to check data transmission integrity based on the 64-bit CRC value.



      import oss2
      from oss2.models import PartInfo
      import os
      import crcmod
      import random
      import string
      do_crc64 = crcmod.mkCrcFun(0x142F0E1EBA9EA3693L, initCrc=0L, xorOut=0xffffffffffffffffL, rev=True)
      def check_crc64(local_crc64, oss_crc64, msg="check crc64"):
      if local_crc64 ! = oss_crc64:
      print "{0} check crc64 failed. local:{1}, oss:{2}.".format(msg, local_crc64, oss_crc64)
      return False
      else:
      print "{0} check crc64 ok.".format(msg)
      return True
      def random_string(length):
      return ''.join(random.choice(string.lowercase) for i in range(length))
      bucket = oss2. Bucket(oss2. Auth(access_key_id, access_key_secret), endpoint, bucket_name)


      How can i verify Put / Get objects values in Python.



      I appreciate any assistance with this.










      share|improve this question







      New contributor




      Ghulam Qadir is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      Currently, OSS can return the 64-bit CRC value for an object uploaded in any mode on Alibaba Cloud OSS. To check the data integrity, I can compare the 64-bit CRC value with the locally calculated value.



      Below is a Python code which shows how to check data transmission integrity based on the 64-bit CRC value.



      import oss2
      from oss2.models import PartInfo
      import os
      import crcmod
      import random
      import string
      do_crc64 = crcmod.mkCrcFun(0x142F0E1EBA9EA3693L, initCrc=0L, xorOut=0xffffffffffffffffL, rev=True)
      def check_crc64(local_crc64, oss_crc64, msg="check crc64"):
      if local_crc64 ! = oss_crc64:
      print "{0} check crc64 failed. local:{1}, oss:{2}.".format(msg, local_crc64, oss_crc64)
      return False
      else:
      print "{0} check crc64 ok.".format(msg)
      return True
      def random_string(length):
      return ''.join(random.choice(string.lowercase) for i in range(length))
      bucket = oss2. Bucket(oss2. Auth(access_key_id, access_key_secret), endpoint, bucket_name)


      How can i verify Put / Get objects values in Python.



      I appreciate any assistance with this.







      python alibaba-cloud






      share|improve this question







      New contributor




      Ghulam Qadir is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      Ghulam Qadir is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      Ghulam Qadir is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Nov 8 at 10:01









      Ghulam Qadir

      13




      13




      New contributor




      Ghulam Qadir is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Ghulam Qadir is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Ghulam Qadir is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Ghulam Qadir is a new contributor. Be nice, and check out our Code of Conduct.










           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53205358%2fcheck-oss-data-transmission-integrity-by-using-64-bit-crc-python%23new-answer', 'question_page');
          }
          );

          Post as a guest





































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Ghulam Qadir is a new contributor. Be nice, and check out our Code of Conduct.










           

          draft saved


          draft discarded


















          Ghulam Qadir is a new contributor. Be nice, and check out our Code of Conduct.













          Ghulam Qadir is a new contributor. Be nice, and check out our Code of Conduct.












          Ghulam Qadir is a new contributor. Be nice, and check out our Code of Conduct.















           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53205358%2fcheck-oss-data-transmission-integrity-by-using-64-bit-crc-python%23new-answer', 'question_page');
          }
          );

          Post as a guest




















































































          Popular posts from this blog

          Schultheiß

          Verwaltungsgliederung Dänemarks

          Liste der Kulturdenkmale in Wilsdruff